题目描述
Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。
输入:输入包括多组数据。 每组数据包括一行:N(1≤N≤40)。 输入以0结束
输出:对应每个输入包括一个输出。 为redraiment到达第n阶不同走法的数量。
样例输入 Copy
1 3 0样例输出 Copy
1 3
- #include
- int main(){
- int n,a,b,c;
- while(scanf("%d",&n),n!=0){//用循环读入台阶的阶数
- if(n==1){//当阶数为1的时候,走的方法为1
- printf("1\n");
- }
- else if(n==2){//当阶数为2的时候,走的方法为2
- printf("2\n");
- }
- else{//此题相当于斐波那契数列少了第一项
- a=1;b=2;//
- for(int i=3;i<=n;i++){//
- c=a+b;//递推相加
- a=b;//
- b=c;//
- }
- printf("%d\n",c);
- }
- }
- return 0;
- }
永远不要失去对未来的兴趣和盼头,因为你根本不知道未来到底会发生什么,或许就是一个很好的未来也说不定哦!-------2023.11.20