日期:2014-05-20  浏览次数:20685 次

这个是怎么算出来的。。
怎么等于120的,小白试问;
Java code

public class Test31 {
    public static void main(String args[]) {
        System.out.println(method(4));
        }
        public static int method(int n) {
            if(n == 1)
                return 1;
            else
                return n*method(n-1);
                }
                }



------解决方案--------------------
打印method(5),就ok了。
------解决方案--------------------
楼主程序运行得24.
按3楼的做法,结果就是120.
------解决方案--------------------
递归,method(5)会等于120。
------解决方案--------------------
得24啊。
------解决方案--------------------
结果是24,没问题,不是120
------解决方案--------------------
等价于介乘
------解决方案--------------------
4*3*2*1
------解决方案--------------------
嗯 结果是24,method(5)才是120
------解决方案--------------------
果断24,
------解决方案--------------------
递归求阶乘嘛,你输入的参数为4,那么就是求4的阶乘咯。也就是24啦
------解决方案--------------------
怎么算也算不到120
递归调用啊

先是methond(4) --> 4*method(3) --> 4*3*method(2) --> 4*3*2*method(1)
--> 4*3*2*1 -->24
------解决方案--------------------
楼主不是糊弄人吧
------解决方案--------------------
不会吧 咋会是120 没上机运行过 我认为是4*3*2*1=24 递归哈
------解决方案--------------------
果断是在糊弄大家
------解决方案--------------------
把四改成五结果就是120,