私は以前、6/49(PHPで)で可能なすべての組み合わせを計算する小さな宝くじプログラムで問題を抱えていました。
これが私の現在の問題です。数字が繰り返されないように条件を使用しますが、次のループでは、最初の数字が変更されると、繰り返しの組み合わせがあります。例を挙げて説明しましょう。
私はこの組み合わせを持っています:
1 2 3 4
1 2 3 5
1 2 3 6
...
1 2 4 3
1 2 4 5
1 2 4 6
だから私の宝くじ1 2 3 4
はと同じ1 2 4 3
です。
それを解決する方法について何かアイデアはありますか?何も考えられない…
これがコードです(私は4/49までしか作成しませんでした:D)
<?php
for ($i=1 ; $i<50 ; $i++)
{
$a=$i;
for ($j=1 ; $j<50 ; $j++)
{
if ($i!=$j)
{
$b=$j;
for ($k=1 ; $k<50 ; $k++)
{
if ($k!=$j && $k!=$i)
{
$c=$k;
for ($l=1 ; $l<50 ; $l++)
{
if ($l!=$i && $l!=$j && $l!=$k)
{
$d=$l;
echo "$a $b $c $d <br>";
}
}
}
}
}
}
}
?>
<br/><br/>
ありがとうございました !
アップデート:
コードは次のようになります。
< ?php
for($a=1; $a<50; $a++)
{
for($b=$a+1; $b<50; $b++)
{
for($c=$b+1; $c<50; $c++)
{
for($d=$c+1; $d<50; $d++)
{
for($e=$d+1; $e<50; $e++)
{
for($f=$e+1; $f<50; $f++)
{
$t=$t+1;
}
}
}
}
}
}
echo "$t";
?>
私は正しい答えを得ることができますが、私はすべてこのエラーを受け取ります:「未定義の変数:t」何かアイデアはなぜですか?