当前位置: 代码迷 >> J2SE >> 这个是如何算出来的。
  详细解决方案

这个是如何算出来的。

热度:88   发布时间:2016-04-24 01:46:16.0
这个是怎么算出来的。。
怎么等于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,
  相关解决方案