zoukankan      html  css  js  c++  java
  • 3089:爬楼梯

    总时间限制: 1000ms 内存限制: 65536kB
    描述
    树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数
    例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级
    也可以第一次走两级,第二次走一级,一共3种方法。

    输入
    输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30
    输出
    不同的走法数,每一行输入对应一行输出
    样例输入
    5
    8
    10
    样例输出
    8
    34
    89

    算法:递归或递推,模型:斐波那契数列。

     1 #include <stdio.h>
     2 long long fun(int n)//返回走n个台阶的方法数
     3 {
     4     if(n==1)return 1;
     5     else if(n==2) return 2;
     6     else return fun(n-1)+fun(n-2);
     7 } 
     8 long long fun2(int n)
     9 {
    10     if(n==1||n==2) return n;
    11     else 
    12     {
    13         long long x=1,y=2,z,i;
    14         for(i=3;i<=n;i++)
    15         {
    16             z=x+y;
    17             x=y;
    18             y=z;
    19         }
    20         return z;
    21     }
    22 }
    23 int main(int argc, char *argv[])
    24 {
    25     int n;
    26     
    27     while(scanf("%d",&n)!=EOF)
    28     {
    29         printf("%lld
    ",fun2(n));
    30     }
    31     return 0;
    32 }
  • 相关阅读:
    锁优化
    无同步方案
    线程安全
    vue 监听路由变化
    ES6-解构赋值
    微信小程序中遮罩层的滚动穿透问题
    JavaScirpt对象原生方法
    JavaScript-window
    JavaScript字符串API
    JavaScript常用数组操作方法,包含ES6方法
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/7290488.html
Copyright © 2011-2022 走看看