0

特にbig intを使用してPHPで数学演算を実行しているときに問題に直面しています

たとえば、echo 600851475143 % 3;0 を出力しますが、600851475143 は 3 で割り切れません

100の階乗は

933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000

しかし、次のコードで100の階乗を計算しようとしたとき

$n = 100;
$product = 1;
for($i = 1 ; $i <= $n ; $i++){
    $product = $product*$i;
}
$product = sprintf('%f', $product);

結果は

93326215443944102188325606108575267240944254854960571509166910400407995064242937148632694030450512898042989296944474898258737204311236641477561877016501813248.000000

どこが間違っているのかわからない、または変数のサイズで何かをしなければならない

4

1 に答える 1