![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формула Магического квадрата [D7, 2000]
junior_177 © (2007-04-22 16:52:00)Подскажите формулу магического квадрата нечеткого порядка. Нашел в Википедии вот такую:
1+(i-j+(n-1)/2)mod n)*n+(-i-j+(n+1)/2)mod n
ИМХО в ней есть ошибки, к примеру, строю нормальный МК 3х3:
n:=3;
for i:=1 to 3 do
for j:=1 to 3 do
StringGrid1.Cells[i,j]:=
IntToStr( (1+(i-j+Round((n-1)/2))mod n)*n+(-i-j+Round((n+1)/2))mod n );
Должно получится, что-то вида:
4 9 2
3 5 7
8 1 6
Мне же выдает:
6 8 1
2 4 9
-2 3 5
MBo (2007-04-24 08:50:00) [1]http://mathworld.wolfram.com/MagicSquare.html
junior_177 (2007-04-24 08:39:00) [2]Спасибо, попробую.
MBo (2007-04-23 08:41:00) [3]Если я правильно понял, формула формализует вот этот прием: числа выписываются в форме ромба с пробелами, затем вылезающие за квадрат переставляются в противоположное свободное место, например, 1 встанет между 7 и 8, 6 - между 2 и 7 и т.д. Вот и оформи этот метод так, чтобы правильно получалось
1
2 3
4 5 6
7 8
9
unregistered_member (2007-04-23 08:23:00) [4]up
YurikGL (2007-04-22 20:39:00) [5]
> воспользуйся методом HelpMeMyGod.GiveMeTheMagicSquareFormula
>
еще надо добавить в uses GodFunctions
default (2007-04-22 16:58:00) [6]воспользуйся методом HelpMeMyGod.GiveMeTheMagicSquareFormula