小乐乐上台阶

       小乐乐上台阶,一共有n个台阶,小乐乐腿长一次可以上1个台阶或者2个台阶,请问小乐乐有多少种方法上n个台阶?

    我们第一次看到这样的题的时候一般都会很懵逼不知道怎么做,那我们先列几种情况看看规律,

我们仔细观察可得我们设n为n个台阶的方法数则

除了n<=2,以外的都符合n=(n-1)=(n-2).

这个表达式不就是和斐波数列的原理差不多嘛,

所以我们可以利用斐波数列的方式来写出:(a=第一项的方法,b=第二项)

#include <stdio.h>

int main() 
{
    int n=0;
    while (scanf("%d", &n) != EOF)
      { 
        int i = 0;
        int a =1;
        int b =2;
        int c =0; 
        if(n>2)
    {
        for(i=1;i<=n-2;i++)
        {
          c =a+b;
          a = b;
          b= c ;
        }
         printf("%d\n", c);
    }
     else
 {
          printf("%d\n",n);
 }
      }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值