走楼梯

楼上走到楼下共有n个台阶,每一步有2种走法:走1个台阶;走2个台阶;问可走多少种方案?
  样例输入:3

  样例输出:3

解决此问题需要先了解几个问题:什么是递归,递推。

递归:将问题规模为n的问题,降解成若干个规模为n-1的问题,依次降解,直到问题规模可求,求出低阶规模的解,代入高阶问题中,直至求出规模为n的问题的解。
递推:构造低阶的规模(如规模为i,一般i=0)的问题,并求出解,推导出问题规模为i+1的问题以及解,依次推到规模为n的问题。

#include<stdio.h>
int f(int n){
	
	if(n==1)
		return 1;
	
	if(n==2)
		return 2;
		
	return f(n-1)+f(n-2);
}
int main(void){
	int n;
	
	scanf("%d",&n);
	
	printf("%d",f(n));
	
	return 0;
}


你可能感兴趣的:(走楼梯)