Как работает магический квадрат? Личный талисман "магический квадрат пифагора" Магический квадрат как он угадывает.

В магическом квадрате целые числа распределены таким образом, что их сумма по горизонтали, вертикали и диагонали равна одному и тому же числу, так называемой магической константе.

Магический квадрат в культурах мира

Примером магического квадрата является Ло Шу, представляющий собой таблицу 3 на 3. В нем вписаны цифры от 1 до 9 таким образом, что в сумме каждая из строк и диагональ дает число 15.

Одна китайская легенда повествует, как однажды во время потопа король пытался построить канал, который бы отвел воду в море. Вдруг из реки Ло появилась черепаха со странным рисунком на панцире. Это была сетка с вписанными в квадраты цифрами от 1 до 9. Сумма чисел на каждой стороне квадрата, а также по диагонали составляла 15. Это число соответствовало количеству дней в каждом из 24 циклов китайского солнечного года.

Квадрат Ло Шу также называют магическим квадратом Сатурна. В нижней строке этого квадрата посередине находится число 1, а в правой верхней клетке число 2.

Магический квадрат присутствует и в других культурах: персидской, арабской, индийской, европейской. Его запечатлел в своей гравюре «Меланхолия» в 1514 году немецкий художник Альбрехт Дюрер.

Магический квадрат на гравюре Дюрера считается первым из тех, что когда-либо появлялись в европейской художественной культуре.

Как решить магический квадрат

Решать магический квадрат следует, заполняя ячейки числами таким образом, чтобы на каждой линии в сумме получилась магическая константа. Сторона магического квадрата может состоять из четного ли нечетного количества ячеек. Самые популярные магические квадраты состоят из девяти (3х3) или шестнадцати (4х4) ячеек. Существует большое разнообразие магических квадратов и вариантов их решения.

Как решить квадрат с четным числом ячеек

Вам понадобится лист бумаги с нарисованным на них квадратом 4х4, простой карандаш и ластик.

Впишите в ячейки квадрата числа от 1 до 16, начиная с верхней левой клетки.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Магическая константа этого квадрата – 34. Поменяйте местами числа на диагональной линии от 1 до 16. Для простоты поменяйте местами 16 и 1, а затем 6 и 11. В результате на диагонали будут стоять цифры 16, 11, 6, 1.

16 2 3 4
5 11 7 8
9 10 6 12
13 14 15 1

Поменяйте местами числа на второй диагональной линии. Эта линия начинается с цифры 4 и заканчивается цифрой 13. Поменяйте их местами. Теперь поменяйте местами два других числа – 7 и 10. Сверху вниз на линии числа будут располагаться в таком порядке: 13, 10, 7, 4.

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Если вы посчитаете сумму на каждой строке, то получится 34. Этот метод работает с другими квадратами с четным количеством ячеек.

Существуют различные методики для построения квадратов порядка одинарной четности и двойной четности.

  • Вычислите магическую константу. Это можно сделать при помощи простой математической формулы / 2, где n – количество строк или столбцов в квадрате. Например, в квадрате 6x6 n=6, а его магическая константа:

    • Магическая константа = / 2
    • Магическая константа = / 2
    • Магическая константа = (6 * 37) / 2
    • Магическая константа = 222/2
    • Магическая константа квадрата 6х6 равна 111.
    • Сумма чисел в любой строке, столбце и по диагонали должна быть равна магической константе.
  • Разделите магический квадрат на четыре квадранта одинакового размера. Обозначьте квадранты через А (сверху слева), C (сверху справа), D (снизу слева) и B (снизу справа). Чтобы выяснить размер каждого квадранта, разделите n на 2.

    • Таким образом, в квадрате 6х6 размер каждого квадранта равен 3x3.
  • В квадранте А напишите четвертую часть всех чисел; в квадранте В напишите следующую четвертую часть всех чисел; в квадранте С напишите следующую четвертую часть всех чисел; в квадранте D напишите заключительную четвертую часть всех чисел.

    • В нашем примере квадрата 6х6 в квадранте А напишите числа 1-9; в квадранте В - числа 10-18; в квадранте С - числа 19-27; в квадранте D - числа 28-36.
  • Числа в каждом квадранте записывайте так, как вы строили нечетный квадрат. В нашем примере квадрант А начните заполнять числами с 1, а квадранты С, B, D - с 10, 19, 28, соответственно.

    • Число, с которого вы начинаете заполнение каждого квадранта, всегда пишите в центральной ячейке верхней строки определенного квадранта.
    • Заполняйте каждый квадрант числами так, как будто это отдельный магический квадрат. Если при заполнении квадранта доступна пустая ячейка из другого квадранта, игнорируйте этот факт и пользуйтесь исключениями из правила заполнения нечетных квадратов.
  • Выделите определенные числа в квадрантах А и D. На данном этапе сумма чисел в столбцах, строках и по диагонали не будет равна магической константе. Поэтому вы должны поменять местами числа в определенных ячейках верхнего левого и нижнего левого квадрантов.

    • Начиная с первой ячейки верхней строки квадранта А, выделите количество ячеек, равное медиане количества ячеек во всей строке. Таким образом, в квадрате 6x6 выделите только первую ячейку верхней строки квадранта А (в этой ячейке написано число 8); в квадрате 10х10 вам нужно выделить первые две ячейки верхней строки квадранта А (в этих ячейках написаны числа 17 и 24).
    • Образуйте промежуточный квадрат из выделенных ячеек. Так как в квадрате 6х6 вы выделили только одну ячейку, то промежуточный квадрат будет состоять из одной ячейки. Назовем этот промежуточный квадрат как A-1.
    • В квадрате 10х10 вы выделили две ячейки верхней строки, поэтому необходимо выделить две первые ячейки второй строки, чтобы образовать промежуточный квадрат 2х2, состоящий из четырех ячеек.
    • В следующей строке пропустите число в первой ячейке, а затем выделите столько чисел, сколько вы выделили в промежуточном квадрате A-1. Полученный промежуточный квадрат назовем A-2.
    • Получение промежуточного квадрата А-3 аналогично получению промежуточного квадрата A-1.
    • Промежуточные квадраты А-1, А-2, А-3 образуют выделенную область А.
    • Повторите описанный процесс в квадранте D: создайте промежуточные квадраты, которые образуют выделенную область D.
  • Существует несколько различных классификаций магических квадратов

    пятого порядка, призванных хоть как-то их систематизировать. В книге

    Мартина Гарднера [ГМ90, сс. 244-345] описан один из таких способов –

    по числу в центральном квадрате. Способ любопытный, но не более того.

    Сколько существует квадратов шестого порядка, до сих пор неизвестно, но их примерно 1.77 х 1019 . Число огромное, поэтому нет никаких надежд пересчитать их с помощью полного перебора, а вот формулы для подсчёта магических квадратов никто придумать не смог.

    Как составить магический квадрат?

    Придумано очень много способов построения магических квадратов. Проще всего составлять магические квадраты нечётного порядка . Мы воспользуемся методом, который предложил французский учёный XVII века А. де ла Лубер (De La Loubère). Он основан на пяти правилах, действие которых мы рассмотрим на самом простом магическом квадрате 3 х 3 клетки.

    Правило 1. Поставьте 1 в среднюю колонку первой строки (Рис. 5.7).

    Рис. 5.7. Первое число

    Правило 2. Следующее число поставьте, если возможно в клетку, соседнюю с текущей по диагонали правее и выше (Рис. 5.8).

    Рис. 5.8. Пытаемся поставить второе число

    Правило 3. Если новая клетка выходит за пределы квадрата сверху , то запишите число в самую нижнюю строку и в следующую колонку (Рис. 5.9).

    Рис. 5.9. Ставим второе число

    Правило 4. Если клетка выходит за пределы квадрата справа , то запишите число в самую первую колонку и в предыдущую строку (Рис. 5.10).

    Рис. 5.10. Ставим третье число

    Правило 5. Если в клетке уже занята , то очередное число запишите под текущей клеткой (Рис. 5.11).

    Рис. 5.11. Ставим четвёртое число

    Рис. 5.12. Ставим пятое и шестое число

    Снова выполняйте Правила 3, 4, 5, пока не составите весь квадрат (Рис.

    Не правда ли, правила очень простые и понятные, но всё равно довольно утомительно расставлять даже 9 чисел. Однако, зная алгоритм построения магических квадратов, мы сможем легко перепоручить компьютеру всю рутинную работу, оставив себе только творческую, то есть написание программы.

    Рис. 5.13. Заполняем квадрат следующими числами

    Проект Магические квадраты (Magic)

    Набор полей для программы Магические квадраты совершенно очевиден:

    // ПРОГРАММА ДЛЯ ГЕНЕРИРОВАНИЯ

    // НЕЧЕТНЫХ МАГИЧЕСКИХ КВАДРАТОВ

    // ПО МЕТОДУ ДЕ ЛА ЛУБЕРА

    public partial class Form1 : Form

    //макс. размеры квадрата: const int MAX_SIZE = 27; //var

    int n=0; // порядок квадрата int [,] mq; // магический квадрат

    int number=0; // текущее число для записи в квадрат

    int col=0; // текущая колонка int row=0; // текущая строка

    Метод де ла Лубера годится для составления нечётных квадратов любого размера, поэтому мы можем предоставить пользователю возможность самостоятельно выбирать порядок квадрата, разумно ограничив при этом свободу выбора 27-ью клетками.

    После того как пользователь нажмёт заветную кнопку btnGen Генерировать! , метод btnGen_Click создаёт массив для хранения чисел и переходит в метод generate :

    //НАЖИМАЕМ КНОПКУ "ГЕНЕРИРОВАТЬ"

    private void btnGen_Click(object sender, EventArgs e)

    //порядок квадрата:

    n = (int )udNum.Value;

    //создаем массив:

    mq = new int ;

    //генерируем магический квадрат: generate();

    lstRes.TopIndex = lstRes.Items.Count-27;

    Здесь мы начинаем действовать по правилам де ла Лубера и записываем первое число – единицу – в среднюю клетку первой строки квадрата (или массива, если угодно):

    //Генерируем магический квадрат void generate(){

    //первое число: number=1;

    //колонка для первого числа - средняя: col = n / 2 + 1;

    //строка для первого числа - первая: row=1;

    //заносим его в квадрат: mq= number;

    Теперь мы последовательно пристраиваем по клеткам остальные числа – от двойки до n * n:

    //переходим к следующему числу:

    Запоминаем на всякий случай координаты актуальной клетки

    int tc=col; int tr = row;

    и переходим в следующую клетку по диагонали:

    Проверяем выполнение третьего правила:

    if (row < 1) row= n;

    А затем четвёртого:

    if (col > n) { col=1;

    goto rule3;

    И пятого:

    if (mq != 0) { col=tc;

    row=tr+1; goto rule3;

    Как мы узнаем, что в клетке квадрата уже находится число? – Очень просто: мы предусмотрительно записали во все клетки нули , а числа в готовом квадрате больше нуля . Значит, по значению элемента массива мы сразу же определим, пустая клетка или уже с числом! Обратите внимание, что здесь нам понадобятся те координаты клетки, которые мы запомнили перед поиском клетки для следующего числа.

    Рано или поздно мы найдём подходящую клетку для числа и запишем его в соответствующую ячейку массива:

    //заносим его в квадрат: mq = number;

    Попробуйте иначе организовать проверку допустимости перехода в но-

    вую клетку!

    Если это число было последним , то программа свои обязанности выполнила, иначе она добровольно переходит к обеспечению клеткой следующего числа:

    //если выставлены не все числа, то if (number < n*n)

    //переходим к следующему числу: goto nextNumber;

    И вот квадрат готов! Вычисляем его магическую сумму и распечатываем на экране:

    } //generate()

    Напечатать элементы массива очень просто, но важно учесть выравнивание чисел разной «длины», ведь в квадрате могут быть одно-, дву- и трёхзначные числа:

    //Печатаем магический квадрат void writeMQ()

    lstRes.ForeColor = Color .Black;

    string s = "Магическая сумма = " + (n*n*n +n)/2; lstRes.Items.Add(s);

    lstRes.Items.Add("" );

    // печатаем магический квадрат: for (int i= 1; i<= n; ++i){

    s="" ;

    for (int j= 1; j <= n; ++j){

    if (n*n > 10 && mq < 10) s += " " ; if (n*n > 100 && mq < 100) s += " " ; s= s + mq + " " ;

    lstRes.Items.Add(s);

    lstRes.Items.Add("" ); }//writeMQ()

    Запускаем программу – квадраты получаются быстро и на загляденье (Рис.

    Рис. 5.14. Изрядный квадратище!

    В книге С.Гудман, С.Хидетниеми Введение в разработку и анализ алгорит-

    мов , на страницах 297-299 мы отыщем тот же самый алгоритм, но в «сокращённом» изложении. Он не столь «прозрачен», как наша версия, но работает верно.

    Добавим кнопку btnGen2 Генерировать 2! и запишем алгоритм на языке

    Си-шарп в метод btnGen2_Click :

    //Algorithm ODDMS

    private void btnGen2_Click(object sender, EventArgs e)

    //порядок квадрата: n = (int )udNum.Value;

    //создаем массив:

    mq = new int ;

    //генерируем магический квадрат: int row = 1;

    int col = (n+1)/2;

    for (int i = 1; i <= n * n; ++i)

    mq = i; if (i % n == 0)

    if (row == 1) row = n;

    if (col == n) col = 1;

    //построение квадрата закончено: writeMQ();

    lstRes.TopIndex = lstRes.Items.Count - 27;

    Кликаем кнопку и убеждаемся, что генерируются «наши» квадраты (Рис.

    Рис. 5.15. Старый алгоритм в новом обличии

    В древности великие ученые считали основой сути мира числа. Магический квадрат, секрет которого состоит в том, что сумма чисел в образовавшемся квадрате в каждой горизонтали, в каждой вертикали, и в каждой диагонали одинакова, несет в себе эту суть.

    Но полного описания магических квадратов до настоящего времени не существует.

    Магический квадрат Пифагора, «притягивающий» энергию богатства, составлен основоположником
    Великий ученый, который основал религиозно-философское учение и провозгласил количественные отношения основой вещей, считал, что в дате рождения человека заключается его сущность.

    Зная, как работает магический квадрат, можно не только узнать черты характера человека, состояние его здоровья, его интеллектуальные и творческие возможности, но и составить программу его совершенствования и развития. Цифры, которые особым образом записываются в квадрат, притягивают не только богатство, но и необходимые энергетические потоки для человека. К примеру, Парацельс изобразил свой квадрат в виде талисмана здоровья. Цифры образуют три ряда, то есть всего в квадрате девять цифр. Чтобы определить свой нумерологический код, необходимо вычислить эти девять чисел.

    Как работает магический квадрат?

    Первый горизонтальный ряд квадрата образуют числа: день, месяц и год рождения человека. К примеру, дата рождения человека соответствует 9.08.1971 года. Тогда первое число в квадрате будет 9, которое и записывается в первую ячейку. Второе число является числом месяца, то есть 8.

    При этом стоит обратить внимание, если месяц рождения человека соответствует декабрю, то есть числу 12, то его, следовательно, нужно преобразовать с помощью сложения в простое число 3. Третья цифра соответствует числу года. Для этого 1971 необходимо разложить на составные цифры и посчитать их общую сумму, равную 18 и далее упростить 1+8=9. Заполняем верхнее горизонтальное поле квадрата получившимися числами: 9,8,9.

    Во второй ряд квадрата записываются числа, соответствующие имени, отчеству и фамилии человека по нумерологии. Каждая буква обладает своим цифровым значением. Цифры можно получить из таблицы соответствия буквы и цифр по нумерологии. Далее нужно просуммировать числа имени, отчества и фамилии и привести их к простым значениям.

    Второй ряд квадрата заполняем образовавшимися цифрами. Четвертое число соответствует числу имени, пятое - отчеству, и шестое - фамилии. Теперь получилась вторая строка энергетического квадрата.

    Дальнейший принцип того, как работает магический квадрат, основан на астрологии.

    Седьмая цифра соответствует номеру знака зодиака человека. Овен является первым знаком под цифрой 1, и далее по порядку до знака Рыб - 12. При заполнении третьего ряда квадрата двузначные числа приводить к простым не следует, они все обладают собственным значением.

    Восьмая цифра является номером знака по То есть в нашем варианте 1971 год - это год Кабана.

    Девятая цифра представляет собой нумерологический код желания человека. К примеру, человек стремится обладать великолепным здоровьем, следовательно, нужно найти цифры, соответствующие буквам в этом слове. В итоге получается сумма 49, которая затем упрощается сложением до 4. Числа от 10 до 12, как и в случае со знаком зодиака человека, сокращать не требуется. Теперь зная, как работает магический квадрат, можно легко его составить и носить с собой, как талисман или оформить, как картину и повесить дома.