递归的三步法与最基础递归--n的阶乘

2019-01-25  本文已影响0人  掌灬纹

三步法定递归模型:

1.找重复 :即找到划分方法 或 递推公式 或 等价转换。

2.找变量:找变量定递归方法的参数

3.找边界:一个递归方法必备的结束条件

拿n的阶乘举例吧 

1.找重复 :涉及数学层面肯定想到的就是公式, n! = n*(n-1)! , (n-1)! = (n-1)*(n-2)!...

2.找变量 :n,逐步随问题的划分而变小

3.找边界 :n! = n*(n-1)*(n-2)....*1 即 n == 1;

(代码实现)

import java.util.Scanner;

public class Main(){

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

System.out.println(n+"的阶乘为:"+f(n));

}

static int f(int n){

if(n==1)

    return 1;

return n * f(n-1);

}

}

上一篇下一篇

猜你喜欢

热点阅读