gpt4 book ai didi

php - php中的幂函数计算17^2147482999

转载 作者:可可西里 更新时间:2023-11-01 00:03:48 26 4
gpt4 key购买 nike

我正在尝试创建一个幂函数来计算 17^2147482999 的幂。我试过这段代码:

function ipow($a, $b) { 
if ($b<0) {
echo "B must be a positive integer";
}
if ($b==0) return 1;
if ($a==0) return 0;
if ($b%2==0) {
return ipow($a*$a, $b/2);
} else if ($b%2==1) {
return $a*ipow($a*$a,$b/2);
}
return 0;
}

函数调用:

echo ipow($a, $b);

错误:

Fatal error: Maximum function nesting level of '100' reached, aborting! in C:\wamp\www\spoj\LASTDIG.php on line 23

有没有其他方法可以计算这么大的值的幂?内置的 pow() 函数给出了一个 INF 输出。

更新

如果似乎无法得到完整的答案,是否可以通过某种数学方法至少提取答案的最后 5-10 位数字?

最佳答案

您不能使用普通的 PHP 算术运算来做到这一点。这超出了整数的范围,即使在 64 位系统上也是如此。

您需要使用 bcmath 扩展和 bcpow功能。 (如果这不起作用,甚至 gmp。)

 print bcpow(17, 2147482999);

关于php - php中的幂函数计算17^2147482999,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6274606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com