请问Java中如何计算199阶乘

笑看浮华2000 2006-06-14 08:53:10
如题,因为199阶乘数字太大了,不管用什么数据类型都会溢出,该如何进行计算?
...全文
256 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
issgates 2006-06-16
  • 打赏
  • 举报
回复
学习
spiritsl 2006-06-16
  • 打赏
  • 举报
回复
up
yzskyzj 2006-06-16
  • 打赏
  • 举报
回复
public class Factorial {

/**
* @param args
*/
public static BigInteger f(int n)
{
BigInteger bi = new BigInteger(n+"");
return bi.equals(BigInteger.ONE)?bi:bi.multiply(f(n-1));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(f(199));
}

递归算法
}
ztroma 2006-06-15
  • 打赏
  • 举报
回复
天都恶心得哭了,哈哈
yitianyidian 2006-06-14
  • 打赏
  • 举报
回复
对了,当时就是这样的
caoi 2006-06-14
  • 打赏
  • 举报
回复
mark
Java实现这么简洁a
trumplet 2006-06-14
  • 打赏
  • 举报
回复
public static void main(String[] args) {
BigInteger s=new BigInteger("1");
for (int i=2;i<=199;i++)
s=s.multiply(new BigInteger(""+i));
System.out.println(s);
}

==================================
Result:

3943289336823952517761816069660925311475679888435866316473712666221797249817016714601521420059923119520886060694598194151288213951213185525309633124764149655567314286353816586186984944719612228107258321201270166459320656137141474266387621212037869516201606287027897843301130159520851620311758504293980894611113948118519486873600000000000000000000000000000000000000000000000

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧