斐波那契数列与阶乘---递归实现
2015-05-27 14:58
369 查看
package com.demo.hello; public class HelloWorld { //斐波那契数列--递归实现 public static int fibonacci(int index){ if(index<0){ System.out.println("----------参数不能为负数--------"); return -1; } if(index==0){ return 0; }else if (index==1) { return 1; }else { return fibonacci(index-1)+fibonacci(index-2);//index>=2 } } //n的阶乘--递归实现 public static int factorial(int n){ if(n<0){ System.out.println("----------参数不能为负数--------"); return -1; } if(n==0 || n==1){//0!=1 ,1!=1 return 1; }else {// n!=n*(n-1)!; return n*factorial(n-1); } } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(fibonacci(5)); System.out.println(factorial(5)); } }
运行结果:
5 120
注意:
定义递归方法时有一条最重要的规定:递归一定要向已知方向递归。
只要一个方法的方法体实现中再次调用了该方法本身,就是递归方法。
相关文章推荐
- JavaScript 递归实现 阶乘 和 斐波那契数列
- 用shell脚本语言实现一个斐波那契数列的递归和非递归版本
- 斐波那契数列-递归实现
- Python3基础 用 函数递归实现 斐波那契数列
- 递归实现n的阶乘
- 小朋友学C语言(17):斐波那契数列的递归实现
- 使用递归实现斐波那契数列
- 斐波那契数列的两种实现方式(递归(大于O(n方))和迭代(O(n))----网易笔试2013录
- 阶乘与阶乘之和递归实现
- 斐波那契数列(Fibonacci sequence)Python实现的三种方案:列表 递归 生成器
- 为什么用 递归 计算“阶乘”和“斐波那契数列”是不合适的?
- 求n的阶乘(递归&&非递归),Fibonacci函数,二分法查找,汉诺塔实现,排列组合,整数划分,一元多项式的加减乘
- 递归实现猴子吃桃问题与兔子生产问题(斐波那契数列)
- 自己写的关于实现数字阶乘的方法,一个采用普通方法,一个是采用递归
- 数据结构(C#)--递归和动态规划法实现斐波那契数列的方法
- 解析分别用递归与循环的方式求斐波那契数列的实现方法
- 斐波那契数列实现(递归)
- 斐波那契数列递归实现和优化
- python语言实现阶乘的两种方法---递归和迭代
- 阶乘的递归和非递归实现