Buat Magic Square untuk Sebilangan Nombor - Petua Excel

Bertahun-tahun yang lalu, saya bekerja di Telxon bersama Dave Strong. Dave telah menyebutkan bahawa datuknya akan melakukan muslihat di mana dia akan meminta nombor di seseorang di dalam bilik. Dia kemudian akan berfikir sangat keras dan perlahan tetapi sengaja membina matriks 4x4. Setiap baris, lajur, dan pepenjuru nombor akan menambah hingga tepat nombor yang dipilih. Angka jenis ini dipanggil kotak sihir.

Kakek Dave adalah Walter Wills Strong. Dia bersama YMCA di Eropah semasa Perang Dunia I dan akan memukau pasukan dengan muslihat mental ini. Ketika Dave memperkenalkan masalah itu kepada saya, saya menemui jalan penyelesaian untuk membuat kotak sihir asas dengan nombor 1 hingga 16 yang bertambah menjadi 34. Walau bagaimanapun, datuk Dave dapat menghasilkan kotak ajaib untuk sebarang nombor. Sekarang, bertahun-tahun kemudian, Dave telah menemui formula bagaimana datuknya melakukan muslihat ini. Dengan sedikit latihan, anda boleh belajar sendiri muslihatnya. Petua minggu ini akan membincangkan mengenai kotak sihir. Ia akan menunjukkan proses yang digunakan oleh datuk Dave. Ia juga akan menawarkan dua fail Excel. Satu fail Excel dengan cepat mengira kotak kuasa untuk nombor apa pun. Fail Excel yang lain cuba meniru sifat persembahan yang mesti diberikan oleh datuk Dave,lengkap dengan ahli sihir berjanggut.

Teori untuk Dataran Sihir Asas

Matriks nombor 4x4 mempunyai dua pepenjuru. Dalam gambar di bawah, satu pepenjuru terdiri daripada 4 kotak kuning. Satu pepenjuru terdiri daripada 4 kotak merah. Sel-sel tepi 8 selebihnya berwarna hijau.

Untuk membina Magic Square untuk 34, anda hanya menulis nombor dari 1 hingga 16 mengikut urutan. Terdapat satu kelainan yang mudah. Sekiranya anda hendak menulis nombor di petak kuning atau merah, anda mesti menulis nombor di sel yang berlawanan secara menyerong dari petak itu. Contohnya, angka 1 yang akan berada di sudut kiri atas jatuh pada petak kuning. Sel yang menyerong di seberang petak ini sebenarnya adalah petak ke-16, di sudut kanan bawah. Daripada menuliskan angka 1 di petak kiri atas, tuliskan di petak kanan bawah.

Dua nombor seterusnya, 2 dan 3 akan jatuh dalam kotak hijau, jadi tuliskan di tempatnya yang normal. Nombor 4 akan jatuh di kotak merah, jadi bukannya menuliskannya di sudut kanan atas, tulis nombor 4 di sudut kiri bawah.

Nombor 5 ditulis di tempat yang betul. 6 & 7 perlu bergerak secara menyerong, dan 8 ditulis di tempatnya yang betul.

Teruskan corak ini untuk nombor 9 hingga 16. Anda akhirnya berakhir dengan petak sihir sederhana yang menambah hingga 34 ke semua arah

Putaran Menarik

Kakek Dave mempunyai sedikit kelainan dalam hal ini. Bagi datuk Dave, dia mempunyai peraturan yang bertentangan. Apa sahaja yang jatuh di petak merah atau kuning ditulis di tempat yang betul. Apa sahaja yang jatuh pada sel tepi hijau ditulis di dataran bertentangan menyerong. Dataran asasnya akan kelihatan seperti ini.

Saya mencadangkan agar anda mempelajari salah satu daripada kedua-dua corak di atas dan mengikutinya. Saya akan menggunakan corak di mana nombor dalam pepenjuru merah atau kuning ditulis secara menyerong bertentangan dengan lokasi normal mereka.

Membuat Magic Square untuk Sebilangan Nombor

Rahsia yang digunakan oleh datuk Dave adalah untuk menyesuaikan nombor permulaannya. Dia menggunakan pengiraan di kepalanya untuk mengetahui nombor permulaan selain 1. Sekiranya anda memikirkan matematik, setiap jumlah di kotak sihir terdiri daripada 4 sel. Sekiranya anda menambahkan satu ke setiap sel, kotak ajaib akan berjumlah 38, kerana semua 4 sel akan bertambah dengan 1. Berikut adalah kotak ajaib yang dibuat menggunakan bilangan bulat dari 2 hingga 17 dan bukan 1 hingga 16. Ia berjumlah 38 bukan 34. Semua logik yang lain tetap sama.

Kunci untuk membuat kotak ajaib yang menambah nombor apa pun adalah dengan mengubah nombor permulaan. Dengan sedikit aljabar, anda dapat memahami mengapa nombor permulaan mengikuti formula ini:

((Desired Number - 34) / 4 ) + 1

Berikut adalah buku kerja Excel untuk membuat Magic Square yang dikehendaki: AnyMagicSquare.xls.

Magic Square Genie

Buku kerja ini menggunakan Makro Excel VBA. Agar jin berfungsi, anda mesti membiarkan makro berjalan semasa anda membuka buku kerja ini. Untuk mengaktifkan makro, ikuti langkah-langkah ini sebelum memuat turun buku kerja.

  • Buka Excel
  • Dari menu, pilih Alat> Makro> Keselamatan
  • Ubah tetapan ke Medium
  • Muat turun dan buka buku kerja
  • Semasa buku kerja dibuka, anda akan diberitahu bahawa makro ada. Pilih untuk Mendayakan.

Saya menulis program ini untuk mensimulasikan persembahan yang diberikan oleh datuk Dave. Walaupun tidak begitu mengagumkan apabila seseorang melakukan matematik sendiri dengan pensil dan kertas, ia tetap memberi anda idea bagaimana prestasi kerjanya. Klik pada Genie untuk memulakan dan dia akan meminta nombor anda. Genie kemudian memikirkan masalahnya.

Jin perlahan-lahan mula mengisi bilangan.

Ketika baris selesai, jumlah baris dan lajur menyala untuk menunjukkan bahawa baris betul.

Akhirnya, jin mendapat titik yang betul dan menawarkan untuk melakukan yang lain.

Muat turun Magic Square Genie versi zip.

Petua topi kepada Dave Strong dan datuknya Walter Wills Strong kerana meneruskan teknik ini.

Untuk mengetahui lebih lanjut mengenai penggunaan VBA untuk mengautomasikan masalah Excel, lihat VBA & Makro untuk Microsoft Excel, yang ditulis oleh Bill Jelen dan Tracy Syrstad.

Kemas kini dari Disember 2005

Kaedah lain Dengan Menggunakan Integer Hanya

Pada bulan November 2005, Ray Battersby menulis bahawa mesti ada kaedah untuk membuat kotak ajaib untuk nombor di atas 30 dengan hanya menggunakan bilangan bulat tanpa perpuluhan. Ray mengenal pasti bahawa anda boleh menambahkan satu hingga empat sel tertentu dalam matriks. Di Magic Square untuk 34, susun nombor dalam urutan berangka dan ambil setiap sel lain bermula dengan yang terendah. Dalam gambar di bawah, Ray mengenal pasti sel yang mengandungi 1, 3, 5, dan 7.

Untuk mengubahnya menjadi kotak ajaib untuk 35, tambahkan satu ke setiap sel kuning.

Untuk menggunakan kaedah Ray, tolak 30 dari hasil yang diinginkan. Bahagikan nombor itu dengan 4. Bahagian bilangan bulat menjadi digit permulaan dan selebihnya menjadi nombor yang anda tambahkan ke empat sel kuning. Contohnya, untuk membuat kotak ajaib untuk 33:

  • 33-30 adalah 3
  • 3 dibahagi dengan 4 adalah 0 dengan baki 3
  • Nombor permulaan adalah 0 seperti yang ditunjukkan seperti Keputusan Pertengahan di bawah
  • Tambahkan 3 pada setiap sel kuning seperti yang ditunjukkan dalam Keputusan Akhir di bawah

Seperti yang dicatat oleh Ray, ini bermaksud bahawa beberapa digit diulang dalam matriks.

Terima kasih kepada Ray kerana berkongsi kaedah ini.

Kemas kini dari Jan 2008

Richard Letsinger menulis untuk menyatakan bahawa kaedah Ray akan berfungsi untuk bilangan bulat, positif atau negatif. Kaedahnya tidak hanya terhad kepada bilangan bulat di atas 30.

Artikel menarik...