递归

例题:

程序中,递归头是f(1);

return   n*f(n:n-1)中,f(n:n-1)是一个递归体,当n-1不等于1时,会一直进行n*f(n:n-1)的递归

边界条件:是能让方法停下的边界,这里是f(1);

程序分为两阶段

前阶段:f(5)=5*f(4)`````f(2)=2*f(1) ,当去的值,f(1)=1是,程序进入返回阶段

返回阶段:f(1)=1    f(2)=2*1`````````f(4)=4*3*2*1```````````   f(5)=5*4*3*2*1

注:当基数较大是,不适合使用递归程序来处理。比如阶乘  15!=2004310016,需要从15处理到1,再从1乘到15,计算量巨大,容易是计算机崩溃

**Java中函数计算运用栈机制

 

posted @ 2021-04-24 13:03  奇奇怪怪丶  阅读(103)  评论(0)    收藏  举报