zoukankan      html  css  js  c++  java
  • Poweroj:2425-跳台阶(经典递推)

    题目链接:https://www.oj.swust.edu.cn/problem/show/2425


    跳台阶

    Edit Manage Data Rejudge
    Time Limit: 1000 MS Memory Limit: 65536 KB
    Total Submit: 380 Accepted: 133 Page View: 1154
    Submit Status Discuss

    Description

    一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    Input

    输入包含多个测试样例,对于每个测试案例,输入包括一个整数n (1 <= n <= 50)。

    Output

    对应每个测试案例,输出该青蛙跳上一个n级的台阶总共有多少种跳法。

    Sample Input

    6

    Sample Output

    32


    解题心得:

    1. 其实就是一个递推的题,每个如果一个青蛙要跳到第n级台阶,那么这个青蛙可以从它前面的所有的台阶跳到第n级,这样到达第n级台阶的方法就等于前面所有的相加,当然也可以直接跳到第n级,所以最后需要加1,如果想不通可以假设这个青蛙每次只能跳1阶或者跳2阶,这就成了一个斐波那契数列。

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    
    const int maxn = 50;
    ll method[maxn];
    
    void init() {
        method[1] = 1;
        method[2] = 2;
        for(int i=3;i<=50;i++) {
            for(int j=1;j<i;j++) {
                method[i] += method[j];
            }
            method[i] += 1;
        }
    }
    
    int main() {
        init();
        int n;
        while(scanf("%d",&n) != EOF ) {
            printf("%lld
    ",method[n]);
        }
        return 0;
    }
  • 相关阅读:
    侧滑的一个注意
    viewpager+fragment结合
    webview
    动画
    <context:annotation-config> 和 <context:component-scan>的区别
    spring mvc 原理及应用
    HDU
    使用Log4Net将系统日志信息记录到记事本和数据库中
    chromium for android GPU进程结构分析
    【云图】怎样制作全国KTV查询系统?
  • 原文地址:https://www.cnblogs.com/GoldenFingers/p/9107117.html
Copyright © 2011-2022 走看看