mel吧 关注:175贴子:766
  • 2回复贴,共1

想求魔方的情况数,求教这个代码是哪里出错了,应该怎么写才正确

只看楼主收藏回复


上图是2阶、3阶、高阶的情况数计算解析式,2k是偶数阶,2k+1是奇数阶。
求教这个代码是哪里出错了,应该怎么写才正确。
我这边i的值代表n阶,程序运行结果显示
二阶变化总数3674160=367万4160
三阶变化总数43252003274489856000=4325京2003兆2744亿8985万6000

正确,
但是四阶五阶等高阶,计算出错,求教怎么计算
float $i=4,$j=0;
float $m=$n=1;
float $Jie24=1;
for(;$n<=24;$n++)
$Jie24=$Jie24*$n;
for($n=1;$n<=6;$n++)
$Jie24=$Jie24/10000;
if($i>1)
{
if($i%2==0)
{
if($i==2)
{for($n=1;$n<=7;$n++)
$m=$m*$n;
for($n=1;$n<=6;$n++)
$m=$m*3;
$j=$m;
print($j);
}
else
{
for($n=1;$n<=7;$n++)
$m=$m*$n;
for($n=1;$n<=6;$n++)
$m=$m*3;
$j=$m;
for($m=1,$n=1;$n<=4;$n++)
$m=$m*$n;
for($n=1;$n<=5;$n++)
$m=$m*$m;
$m=$Jie24/$m;
$i=$i/2;
for($n=2;$n<=($i-1)*($i-1);$n++)
$m=$m*$m;
for($n=1;$n<=($i-2);$n++)
$Jie24=$Jie24*$Jie24;
$j=$j*$m*$Jie24;
print($j+"000000000000000000000000");
}
}
else
{
if($i=3)
{
for($m=$n=1;$n<=8;$n++)
$m=$m*$n;
for($n=1;$n<=7;$n++)
$m=$m*3;
for($j=$n=1;$n<=12;$n++)
$j=$j*$n;
for($n=1;$n<=11;$n++)
$j=$j*($i-1);
$j=$j*$m/2;
print($j);
}
else
{for($m=$n=1;$n<=8;$n++)
$m=$m*$n;
for($n=1;$n<=7;$n++)
$m=$m*3;
for($j=$n=1;$n<=12;$n++)
$j=$j*$n;
for($n=1;$n<=11;$n++)
$j=$j*($i-1);
$j=$j*$m/2;
for($m=1,$n=1;$n<=4;$n++)
$m=$m*$n;
for($n=1;$n<=5;$n++)
$m=$m*$m;
$m=$Jie24/$m;
$i=$i/2;
for($n=2;$n<=$i*($i-1);$n++)
$m=$m*$m;
for($n=1;$n<=($i-2);$n++)
$Jie24=$Jie24*$Jie24;
$j=$j*$m*$Jie24;
print($j+"000000000000000000000000");
}
}
}
else
print("error");


IP属地:福建1楼2020-11-02 13:21回复
    too long to read 而且是不是po错地方了


    IP属地:上海来自iPhone客户端2楼2020-11-05 23:53
    收起回复