求1000的阶乘

曾经面试碰到的一个题目,求1000的阶乘。

由于int,long,double的取值范围达不到,所以只能用java给提供的BigInteger数据类型。

import java.math.BigInteger;


/**
 * 求1000的阶乘
 * @author kevin
 *
 */
public class Factorial {


public static void main(String[] args) {
System.out.println(method(1000));
}


public static BigInteger method(int n) {
if (n < 1) {
System.out.println("error");
return new BigInteger("0");
} else if (n == 1) {
return new BigInteger("1");
} else {
return method(n - 1).multiply(
new BigInteger(new Integer(n).toString()));
}
}


}
发布了37 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/stormkai/article/details/9453737