斐波那契数列与阶乘---递归实现

来源:互联网 发布:数学问题搜索软件 编辑:程序博客网 时间:2024/06/04 19:50
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!=1return 1;}else  {// n!=n*(n-1)!;return n*factorial(n-1);}}public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(fibonacci(5));System.out.println(factorial(5));}}


运行结果:

5120


注意:

定义递归方法时有一条最重要的规定:递归一定要向已知方向递归。


只要一个方法的方法体实现中再次调用了该方法本身,就是递归方法。



0 0
原创粉丝点击