请问高手如何才能表示出这个100的阶乘啊,好像long型都不够大啊,给我显个0放着啊public class DiGui {
public static long jieCheng(long n){ if(n == 1){
return 1;
}
else{
return n*jieCheng(n-1);
}
}
public static void main(String[] args) {
DiGui d = new DiGui();
System.out.println(d.jieCheng(100));
}}
public static long jieCheng(long n){ if(n == 1){
return 1;
}
else{
return n*jieCheng(n-1);
}
}
public static void main(String[] args) {
DiGui d = new DiGui();
System.out.println(d.jieCheng(100));
}}
解决方案 »
- swt内嵌浏览器浏览问题
- 做java 数据库编程中遇到的问题
- java做的程序如何隐藏进程,或阻止任务管理器把进程关闭(最好有代码,详细点的。)
- 生产者与消费者问题,wait与notify多线程协作出问题,请大家帮我纠正下。
- BigInteger类不知道怎么用,请高手指点.!!!高分相谢,马上结帖!!!
- 如何使用正则表达式移除特殊字符*和+
- 散分第三问:什么是Abstract?什么地方应该使用Abstract?抽象类,抽象的方法是什么?有什么作用?应该在那
- 编译不通过,怎么解决50分
- Bean的属性编辑器有什么用,怎么用?
- 穿越防火墙以及代理服务器 ?
- java 中如何通过参数返回值?
- HashMap的问题
public static BigInteger jieCheng(BigInteger n) { if (n.compareTo(new BigInteger("1")) == 0) {
return new BigInteger("1");
} else {
return n.multiply(jieCheng(n.subtract(new BigInteger("1"))));
} } public static void main(String[] args) {
DiGui d = new DiGui();
System.out.println(d.jieCheng(new BigInteger("100")));
}
}用一个BigInteger类就搞定啦
public class XunHuan { public static void main(String[] args) {
BigInteger sum = BigInteger.valueOf(1);
for (int i=1;i<=100;i++){
sum = sum.multiply(BigInteger.valueOf(i));
}
System.out.println(sum);
}}
参加ACM的时候再这么写...平常别这么写...挨老师批~ACM只要求time&mem