如何用算法填充数组
How to fill an array with algorythm
我想测试一下像 table 这样的数独游戏。
代码的第一部分可以制作一个 7x7 table 的数字,如数独,没有任何正常外观。
代码的第二部分制作一个具有基本外观的 7x7 table。
我怎样才能将它们混合在一起?
<?php
$n = 7; //szám
$seed_row = range(1, $n); //mettől meddig
shuffle($seed_row); //keverés
$result = array();
for($x = 0; $x < $n; $x++)
{
$tmp_ar = array();
$rnd_start = $seed_row[$x];
for($y = $rnd_start; $y < ($n + $rnd_start); $y++)
{
if($y >= $n) $idx = $y - $n;
else $idx = $y;
$tmp_ar[] = $seed_row[$idx];
}
$result[] = $tmp_ar;
}
for($x = 0; $x < $n; $x++)
{
echo implode(' ', $result[$x]) . "<br/>\n";
}
//second part
echo '<table border="1" style="height:50%; width:50%;">';
for ($i=0; $i < 7; $i++) {
echo "<tr>";
for ($j=0; $j < 7; $j++) {
echo "<td>";
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
你只需要在for循环中输出你的数组
<?php
$n = 7; //szám
$seed_row = range(1, $n); //mettől meddig
shuffle($seed_row); //keverés
$result = array();
for($x = 0; $x < $n; $x++)
{
$tmp_ar = array();
$rnd_start = $seed_row[$x];
for($y = $rnd_start; $y < ($n + $rnd_start); $y++)
{
if($y >= $n) $idx = $y - $n;
else $idx = $y;
$tmp_ar[] = $seed_row[$idx];
}
$result[] = $tmp_ar;
}
//second part
echo '<table border="1" style="height:50%; width:50%;">';
for ($i=0; $i < 7; $i++) {
echo "<tr>";
for ($j=0; $j < 7; $j++) {
echo "<td>";
echo $result[$i][$j];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
我想测试一下像 table 这样的数独游戏。 代码的第一部分可以制作一个 7x7 table 的数字,如数独,没有任何正常外观。 代码的第二部分制作一个具有基本外观的 7x7 table。 我怎样才能将它们混合在一起?
<?php
$n = 7; //szám
$seed_row = range(1, $n); //mettől meddig
shuffle($seed_row); //keverés
$result = array();
for($x = 0; $x < $n; $x++)
{
$tmp_ar = array();
$rnd_start = $seed_row[$x];
for($y = $rnd_start; $y < ($n + $rnd_start); $y++)
{
if($y >= $n) $idx = $y - $n;
else $idx = $y;
$tmp_ar[] = $seed_row[$idx];
}
$result[] = $tmp_ar;
}
for($x = 0; $x < $n; $x++)
{
echo implode(' ', $result[$x]) . "<br/>\n";
}
//second part
echo '<table border="1" style="height:50%; width:50%;">';
for ($i=0; $i < 7; $i++) {
echo "<tr>";
for ($j=0; $j < 7; $j++) {
echo "<td>";
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
你只需要在for循环中输出你的数组
<?php
$n = 7; //szám
$seed_row = range(1, $n); //mettől meddig
shuffle($seed_row); //keverés
$result = array();
for($x = 0; $x < $n; $x++)
{
$tmp_ar = array();
$rnd_start = $seed_row[$x];
for($y = $rnd_start; $y < ($n + $rnd_start); $y++)
{
if($y >= $n) $idx = $y - $n;
else $idx = $y;
$tmp_ar[] = $seed_row[$idx];
}
$result[] = $tmp_ar;
}
//second part
echo '<table border="1" style="height:50%; width:50%;">';
for ($i=0; $i < 7; $i++) {
echo "<tr>";
for ($j=0; $j < 7; $j++) {
echo "<td>";
echo $result[$i][$j];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>