PHP 上的模数结果错误,但 Python 上的结果正确

我在 PHP 上操作这个数字时遇到了问题


前任:


72 ** 79 % 3337


当我使用


echo 72 ** 79 % 3337 // Result is int(0)

然后我尝试分成这个


$num = number_format(72 ** 79, 0, '', '');

echo $num % 3337;   // Result is 1069

然后我再次尝试使用 fmod() 和 bcmod()


$num = number_format(72 ** 79, 0, '', '');

echo fmod($num, 3337);        // Result is 2255

echo bcmod($num, 3337);       // Result is 2255

但是,我想要的结果是 285,而当使用 Python 时,答案是正确的。


为什么会这样?任何解决方案?


动漫人物
浏览 83回答 1
1回答

Qyouu

您溢出了浮点分辨率,因此您需要使用 bcmath 进行所有数学运算,包括求幂:$num = bcpow(72, 79);echo bcmod($num, 3337);输出285
打开App,查看更多内容
随时随地看视频慕课网APP