阶乘方法效果不佳!

阶乘方法效果不佳!,第1张

阶乘方法效果不佳!

由于

500!
等于,
1220136825991110068701238785423046926253574342803192842192413588385845373153881997605496447502203281863013616477148203584163378722078177200480785205159329285477907571939330603772960859086270429174547882424912726344305670173270769461062802310452644218878789465754777149863494367781037644274033827365397471386477878495438489595537537990423241061271326984327745715546309977202781014561081188373709531016356324432987029563896628911658974769572087926928871281780070265174507768410719624390394322536422605234945850129918571501248706961568141625359056693423813008856249246891564126775654481886506593847951775360894005745238940335798476363944905313062323749066445048824665075946735862074637925184200459369692981022263971952597190945217823331756934581508552332820762820023402626907898342451712006207714640979456116127629145951237229913340169552363850942885592018727433795173014586357570828355780158735432768888680120399882384702151467605445407663535984174430480128938313896881639487469658817504506926365338175055478128640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
您无法将其放入
int
范围内(最大为
2147483647
)。

  • 使用
    int
    最多只能存储
    12!
  • 使用a,
    long
    您将起床
    20!
  • 使用a,
    double
    您将开始使用
    170!

这是使用的解决方案

BigInteger

public static BigInteger factorial(int i) {    BigInteger n = BigInteger.valueOf(i);    while (--i > 0)        n = n.multiply(BigInteger.valueOf(i));    return n;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5426921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存