问题描述:树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数, 求不同的走法数
例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一 级,第二次走两级,也可以第一次走两级,第二次走一级,一 共3种方法。
作者:何知令
完成时间:2017年5月7日
输入:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出不同的走法数,每一行输入对应一行
例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一 级,第二次走两级,也可以第一次走两级,第二次走一级,一 共3种方法。
作者:何知令
完成时间:2017年5月7日
输入:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出不同的走法数,每一行输入对应一行
输出:不同的走法数,每一行输入对应一行输出
代码:
/*
问题描述:树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数, 求不同的走法数
例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一 级,第二次走两级,也可以第一次走两级,第二次走一级,一 共3种方法。
作者:何知令
完成时间:2017年5月7日
输入:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出不同的走法数,每一行输入对应一行
输出:不同的走法数,每一行输入对应一行输出
*/
#include <stdio.h>
#include <stdlib.h>
int climb_stairs(int n)
{
if(n==1)
return 1;
else if(n==2)
return 2;
else
return climb_stairs(n-1)+climb_stairs(n-2);
}
int main()
{
int n;
while(~scanf("%d",&n))
{
printf("%d\n",climb_stairs(n));
}
return 0;
}
程序运行结果展示:
知识点总结:不确定数目的数据输入,递归及其问题求解
学习心得:还是不怎么明白。。。