java递归:有N阶楼梯,一次上1阶或2阶,工多少种方法

import java.util.Scanner; 
public class DiGui{
	 int f(int n){
		if (n>0){
			if(n==1)return 1;
			if(n==2)return 2;
		else return f(n-1)+f(n-2);	
	}
	return 0;
	}
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		System.out.println("输入台阶数");
		int c=sc.nextInt();
		sc.close();
		DiGui d=new DiGui();
		int a=d.f(c);
		System.out.println(a);
	}
}

在方法内调用自身,找规律:F(3)=F(2)+F(1),所以F(N)=F(N-1)+F(N-2)

你可能感兴趣的:(算法,java)