递归:阶乘以及菲波那切数列的程序实现
来源:互联网 发布:有线网络电视怎么连接 编辑:程序博客网 时间:2024/06/09 21:32
分治法:把一个难以直接解决的大问题分割成一些规模较小的相同问题,以便各个击破,分而治之。
分治法中的子问题和原问题的类型一致,子问题不断缩小直至变成可以求解的简单问题,从而就引入了递归算法。
直接或间接调用自身的算法称为递归算法。
例子1:阶乘函数
import java.util.Scanner;/*阶乘函数 * 递归定义:n!={1 n=0 * {n(n-1)! n>0 */public class JieCheng {static int result = 0; //阶乘结果int jiecheng(int n1) {if (n1 == 0) { //n=0result = 1;}if (n1 > 0) { //n>0result = n1 * jiecheng(n1 - 1); //递归调用}return result;}public static void main(String[] args) {for (int i = 0; i < 100; i++) { //做一个循环可以连续输入阶乘的数值Scanner in = new Scanner(System.in);System.out.println("-----输入阶乘的数值(n>=0)-----");int n = in.nextInt();JieCheng jc = new JieCheng();jc.jiecheng(n);System.out.println(result);}}}
例子2:Fibonacci
import java.util.Scanner;public class Fibonacci {/** * 菲波那切数列: * 无穷数列:1,1,2,3,5,8...... * 递归定义:F(n)= 1...n=0 * 1...n=1 * F(n-1)+F(n-2)...n>1 */static int result = 0; //结果int fibonacci(int n) {if (n<=1) { //n<=1result = 1;}if (n > 1) { //n>0result = fibonacci(n-1)+fibonacci(n-2); //递归调用}return result;}public static void main(String[] args) {for (int i = 0; i < 100; i++) { //为了连续输入Scanner in = new Scanner(System.in);System.out.println("-----输入想要的到的第n位菲波那切数列的数值(n>=1)-----");int n = in.nextInt();Fibonacci f = new Fibonacci();f.fibonacci(n-1); //前面的位数是从0计起的,为了符合常识,这里n要减去1System.out.println(result);}}}
0 0
- 递归:阶乘以及菲波那切数列的程序实现
- 斐波那契数列与阶乘---递归实现
- JAVA递归实现菲波那切数列数列
- 菲波那切数列的递归与非递归解法以及青蛙跳台阶问题
- JavaSE第八十八讲:递归详解以及递归在阶乘与斐波那契数列的使用
- 递归 阶乘 斐波那契数列
- 斐波那契数列的非递归c语言实现以及斐波那契数列的应用
- Python的迭代和递归实现菲波那切数列(Fibonacci sequence)
- 菲波那切数列数列的3种实现
- 递归-阶乘函数和斐波那契数列
- 递归算法-阶乘-斐波那契数列
- 为什么用 递归 计算“阶乘”和“斐波那契数列”是不合适的?
- 为什么用 递归 计算“阶乘”和“斐波那契数列”是不合适的?
- 函数的递归调用(阶乘函数&斐波那契数列)
- 斐波那契数列的非递归实现
- 斐波那契数列的递归优化实现
- 斐波那契数列的递归实现
- 费波那也数列的非递归实现
- NEUQ 1213: 半数集问题
- JAVA基础篇七(Java,C++中的线程)
- ubuntu下怎样版本号和内核版本号
- Andrew Ng机器学习-Linear Regression with one variable
- hdu2669与hdu1576(扩展欧几里德)
- 递归:阶乘以及菲波那切数列的程序实现
- PHP下载、安装
- Opencv交叉编译到ARM(基于Qt)
- tableView头部不动,cell滑动
- strlen与sizeof的区别
- NEUQ 1023: 简单计算器
- Binary Tree Maximum Path Sum
- Hibernate查询语句拼接乱码问题
- 快排partition过程——索引小修改