• 递归调用


    • 计算斐波那契数
    //每个数等于前两个数之和:1  1  2  3  5  8  13  21  34  55 ...
    public class Fibonacci {
    	public static void main(String[] args) {
    		int n = 10;
    		System.out.println(new Fibonacci().Fib(n));
    	}
    	public int Fib(int n) {
    		if(n == 1)
    			return 1;
    		else if(n == 2)
    			return 1;
    		else 
    			return Fib(n-1)+Fib(n-2);
    	}
    }
    
    • 求应公式的值
    //已知一个数列:f(20) = 1,f(21) = 4,f(n+2) = 2*f(n+1)+f(n),
    //其中n是大于0的整数,求f(10)的值
    public class Recursion_1 {
    	public static void main(String[] atgs) {
    		int n = 10;
    		System.out.println(new Recursion_1().sum(n));
    	}
    	public int sum(int n) {
    		if(n == 20) {
    			return 20;
    		}
    		else if(n == 21) {
    			return 21;
    		}
    		else
    			return sum(n+2)-2*sum(n+2);
    	}
    }
    
    • 递归求乘阶(n)
    public class Recursion_JieCheng {
    	public static void main(String[] atgs) {
    		System.out.println(new Recursion_JieCheng().fac(10));
    	}
    	public int fac(int n) {
    		if(n == 0 || n == 1) 
    			return 1;
    		else
    			return fac(n-1)*n;
    		//每次递归的进入都是将n-1作为实参传递给形参,所以每次递归调用的方法所接收到的
    		//参数都比其外层接收到的参数小1;
    		//每次递归出去的都是本层递归方法所返回的结果,结果返回至给上一层调用它的位置
    	}
    }
    
  • 相关阅读:
    抓老鼠
    我的寒假作业
    寒假作业
    大一上学期C语言学习总结
    我的三位老师
    自我介绍
    2019春季第七周作业
    第六周总结
    第五周作业及其总结
    2019春季第四周作业
  • 原文地址:https://www.cnblogs.com/csyh/p/12424662.html
Copyright © 2020-2023  润新知