Реализации алгоритмов/Построение магических квадратов: различия между версиями

Использован {{BookCat}}; пробелы; →‎К переименованию: снят шаблон после переименования.
м (Ivan Shmakov переименовал страницу Программные реализации построения магических квадратов в [[Реализации алгоритмов/Построение магических…)
(Использован {{BookCat}}; пробелы; →‎К переименованию: снят шаблон после переименования.)
{{К переименованию |2014-11-21|Реализации алгоритмов/Построение магических квадратов}}
 
== Реализация на языке программирования [[PHP]] ==
 
===[[w:Магический квадрат#Метод террас|Метод террас]] (квадраты нечётного порядка)===
<big><source lang="php">
<?php
$n = 7; // Размерность (нечетное число)
$ss = (($N-1)/2);
$nn = 1;
for($i=0; $i<$N; $i++)
for($j=0; $j<$N; $j++) {
$x = (-$ss+$i+$j+$N) % $N;
$sol[$x][$y] = $nn++;
}
 
return $sol;
}
?>
</source></big>
 
<big><source lang="php">
<?php
$n = 7; // Размерность (нечетное число)
}
 
// заполнение левой части квадрата, относительно
// левой диагонали (саму диагональ не трогаем)
$glob_i = 1;
}
 
// заполнение правой части квадрата, относительно
// левой диагонали (саму диагональ не трогаем)
$glob_j = $n - 2;
unset($square[$k]);
}
}
 
return $square;
}
?>
</source></big>
 
=== Проверка ===
<big>
<source lang="php">
<?php
$row += $array[$i][$j];
$col += $array[$j][$i];
 
$right_diagonal += ($i == $j) ? $array[$i][$j] : 0;
$left_diagonal += (($n - $i) == ($j - 1)) ? $array[$i][$j] : 0;
}
?>
</source></big>
 
== Реализации на языке Python ==
</source>
 
{{BookCat}}
[[Категория:Программирование]]
3890

правок