永发信息网

求Java写的100的阶乘

答案:6  悬赏:0  手机版
解决时间 2021-07-21 06:06
求Java写的100的阶乘
最佳答案

100的阶乘int是存不了的,要用大数类:


import java.math.BigDecimal;



public class Test {
public static void main(String args[]){
BigDecimal result= new BigDecimal(1);
for(int i=1;i<=100;i++){
BigDecimal i_value= new BigDecimal(i);
result = result.multiply(i_value);
}
System.out.println("result="+result);
}
}

全部回答
import java.math.BigInteger; public class Test { public static void main(String[] args) { BigInteger x = factorial(30); System.out.println(x); } public static BigInteger factorial(int num) { if(num < 0) { throw new IllegalArgumentException("num must be signless integral."); } if(num < 2) { return BigInteger.ONE; } // 小于等于 12 时可以使用 int 进行计算 if(num <= 12) { return intFractorial(num); } // 小于等于 20 时可以使用 long 进行计算 if(num <= 20) { return longFractorial(num); } // 大于 20 时需要采用 BigInteger 进行计算 return bigIntegerFactorial(num); } private static BigInteger intFractorial(int num) { int result = 1; while(num > 0) { result *= num--; } return BigInteger.valueOf(result); } private static BigInteger longFractorial(int num) { long result = 1L; while(num > 0) { result *= num--; } return BigInteger.valueOf(result); } private static BigInteger bigIntegerFactorial(int num) { BigInteger result = longFractorial(20); while(num > 20) { result = result.multiply(BigInteger.valueOf(num--)); } return result; } }

用我这个吧,用大整数类型才可以处理这么大的整数。

import java.math.BigInteger; public class Test { public static void main(String[] args) { BigInteger sum=new BigInteger("1"); for(int i = 1; i <= 100; i++) { sum=sum.multiply(new BigInteger(String.valueOf(i))); } System.out.println(sum); } }

class Test{ public static void main(String argds[]){ int a[] = new int[100]; int sum=1; for(int i=0;i<a.length;i++){ a[i] = i+1; //给数组复制,从1到100 } for(int j=0;j<a.length;j++){ sum = sum*a[j]; //计算阶乘 } } } 计算其他值的阶乘,只要把定义数组里面的100换成其他值就好了。

这个很简单啊,一个循环语句就行了,给你个思路。

sum=sum*i

public class Factorial {

public static void main(String[] args) {

int total = 1;

for(int i = 1; i <= 100; i++)

total = total*i;

System.out.println(total);

}

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
摩托车难启动…
求允浩《wrong number》的rap铃声
德国浪漫主义,浪漫主义艺术风格是什么?
十二月流星雨什么时候开始?
求空之轨迹SC最终章存档
固始县信阳爱玛电动车哪位知道具体地址啊
到目前,山西都有哪些学校已经封校了?
什么时候喝牛奶是美白的最好时刻
请教ECCEL高手!
韶山市湘潭韶南学校怎么去啊,谁知道地址啊
怎么样秒送QQ会员给刚才的好友
广州山西小院的vcd哪里有请的
谁会对“三光日月星”的下联
咋样能找到诚信的厂商谈生意?
爱人生日祝福短语,百岁老人生日祝福诗七言
推荐资讯
除权前复权是什么意思,前除权和后除权各代表
淮滨县信阳淮滨县滨城学校地址有谁知道?有点
泌尿系感染怎么办
耒阳市衡阳中艺钢琴音乐中心地址有谁知道?有
淮阳县周口北关清真寺地址在哪,我要去那里
现在N72水货和行货多少价位
询问南京的公交线路
陕州区三门峡洛阳银行24小时自助银行地址在哪
补水面膜哪种性价比高
有什么去斑的面莫没有我应该是中性皮肤
银行卡丢了户口本可以代替身份证补卡吗?
计算机科学引论(2008影印版)哪里有中文版?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?