黑马程序员技术交流社区

标题: 求出1000的阶乘, 用递归做 [打印本页]

作者: 小菜白白白    时间: 2016-9-12 21:25
标题: 求出1000的阶乘, 用递归做
本帖最后由 小菜白白白 于 2016-9-12 22:05 编辑

public class Test6 {
        public static void main(String[] args) {
                BigInteger num=new BigInteger(1000+"");            //创建BigInteger对象,把1000当做参数
                  BigInteger totolnum=new BigInteger(fac(num)+"");        
                fac(num);                           

        }
        public static BigInteger fac(BigInteger n) {                 //递归函数的现实
                long num=n.intValue();                                   //把biginteger 类型转为int类型进行判断,好像也可以直接用Integer的equals方法
                if(num==0||num==1) {
                        return new BigInteger(1+"");
                }else {
                        long num2=num-1;
                         BigInteger bint=new BigInteger(num2+"");
                        return n.multiply(fac(bint));
                }
               
        }
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2