我要计算10W的阶乘,怎么办?

ATGC 2006-05-25 12:33:34
我要计算10W的阶乘,怎么办?
...全文
601 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiachedan 2006-05-26
  • 打赏
  • 举报
回复
BigInteger就是很慢!
yinleiyoung 2006-05-26
  • 打赏
  • 举报
回复
mark
tianfang 2006-05-26
  • 打赏
  • 举报
回复
2.8s是实际运行结果,下载地址前面有,其中还有老一点版本的源码,可以试试。我很佩服这个作者
eswn 2006-05-26
  • 打赏
  • 举报
回复
刚才用XP自带的计算器算了一下,双核1.66 算了大约1分钟吧,中间停了两次,结果是2.8242294079603478742934215780245 e+456573
eswn 2006-05-26
  • 打赏
  • 举报
回复
10W的阶乘,没有几分钟算不出来。有人说2。8S算出来,不太现实。
tianfang 2006-05-25
  • 打赏
  • 举报
回复
这个哥们真厉害,10w! 结果转成文本是508K,俺的P3 1.13G 2.8s多就算出来了
tianfang 2006-05-25
  • 打赏
  • 举报
回复
搜索一下下载,几年前有个朋友做过一个计算器。我替你找了
http://down.csdn.net/ycx/C/7960.html
GALFORDD 2006-05-25
  • 打赏
  • 举报
回复
递归或循环
sole_lodestar 2006-05-25
  • 打赏
  • 举报
回复
用BigInteger类型
ATGC 2006-05-25
  • 打赏
  • 举报
回复
如果1W的阶乘除以1W的阶乘就很慢了啊,和死掉一样了啊
ATGC 2006-05-25
  • 打赏
  • 举报
回复
import java.io.*;
import java.math.*;
public class jcc
{
public static void main(String args[])
{
BigDecimal sum = new BigDecimal(1.0);
for(int i = 1; i <= 10000; i++)
{
sum =sum.multiply(new BigDecimal(i));
}
sum=sum.divide(sum);
System.out.println(sum);
}
}
找了一个,效果还不错
可是如果1W
baiguang06 2006-05-25
  • 打赏
  • 举报
回复
我以前用C算过大的。当时用的是数组来模拟超大整数。
一位一位的算出来。可能有点慢。 BigInteger 肯定会益出的
sole_lodestar 2006-05-25
  • 打赏
  • 举报
回复
think in java 就有这种例子,找找
RainRainbow 2006-05-25
  • 打赏
  • 举报
回复
不过这么算很慢,要3、4分钟
RainRainbow 2006-05-25
  • 打赏
  • 举报
回复
BigInteger result = new BigInteger("1");
for (int i = 1; i <= 100000; i++) {
result = result.multiply(new BigInteger(String.valueOf(i)));
}
System.out.println(result);
不会溢出的
liujiwe79 2006-05-25
  • 打赏
  • 举报
回复
BigInteger不过我怀疑这么大的数字会不会出现计算机溢出
tianfang 2006-05-25
  • 打赏
  • 举报
回复
1.2里面有c源码,改java的就是了
ATGC 2006-05-25
  • 打赏
  • 举报
回复
他那程序我没用啊,我要java的,而且那么长
RainRainbow 2006-05-25
  • 打赏
  • 举报
回复
BigInteger循环慢慢的算

62,612

社区成员

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

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