Poi*_*t89 2 php variables for-loop
我之前遇到过一个问题,那个小型的彩票计划可以为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
Run Code Online (Sandbox Code Playgroud)
所以我的彩票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/>
Run Code Online (Sandbox Code Playgroud)
谢谢 !
更新:
代码如下所示:
< ?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";
?>
Run Code Online (Sandbox Code Playgroud)
我得到正确的答案,但我也得到这个错误:"未定义的变量:t"任何想法为什么?
要获得所有组合,您应该将内部循环变量值初始化为父循环变量值+ 1 4/49的示例
for($a=1; $a<50-3; $a++)
for($b=$a+1; $b<50-2; $b++)
for($c=$b+1; $c<50-1; $c++)
for($d=$c+1; $d<50; $d++)
echo "$a $b $c $d<br>";
Run Code Online (Sandbox Code Playgroud)
作为奖励,您不再需要测试值是否全部不同
| 归档时间: |
|
| 查看次数: |
1010 次 |
| 最近记录: |