美文网首页
递归的三步法与最基础递归--n的阶乘

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

作者: 掌灬纹 | 来源:发表于2019-01-25 19:24 被阅读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);

}

}

相关文章

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

    三步法定递归模型: 1.找重复 :即找到划分方法 或 递推公式 或 等价转换。 2.找变量:找变量定递归方法的参数...

  • 递归在实际中的应用与思考

    递归的三种表现形式 定义是递归的:例:阶乘函数的定义——n! = 1;n = 0时n! = n * (n-1)! ...

  • 2018-07-28

    递归函数以及尾递归优化: #利用递归函数计算阶乘 ... #N! = 1 * 2 * 3 * 4 * ... * ...

  • 专题:递归与累加阶乘

    递归实现累加和阶乘 累加核心代码: 阶乘的核心代码: 阶乘的非递归实现思路: 阶乘的非递归实现核心代码:

  • SICP——构造程序抽象(三)

    1.线性的递归和迭代 先从阶乘的问题入手,计算n的阶乘(n!),也就是: n!=n*[(n-1)*(n-2)*(n...

  • C++ 递归算法

    递归算法,尾递归算法求阶乘!

  • 递归实现 n!

    递归的特点: 自己调用自己 设定终止条件 优点:算法简单缺点:效率低下 用递归实现阶乘 n! 用 for 循环实现...

  • 递归

    什么是递归 程序调用自身的编程技巧称为递归 ,说白了,递归和普通的函数调用一样 举个栗子(求n的阶乘): 通过这个...

  • 递归函数

    定义 程序调用自身的编程技巧称为递归(recursion)。 阶乘 以阶乘为例: 递归条件 构成递归需具备边界条件...

  • java中的递归与迭代

    1.递归 如这个阶乘函数:n!=n*(n-1)*(n-2)*...*1计算阶乘的方法有很多。 一种方法是n!=n*...

网友评论

      本文标题:递归的三步法与最基础递归--n的阶乘

      本文链接:https://www.haomeiwen.com/subject/zuyvjqtx.html