zoukankan      html  css  js  c++  java
  • 数楼梯(斐波拉契数列+高精度加法)

    数楼梯

    题目描述:
    楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。
    编一个程序,计算共有多少种不同的走法。
    输入输出格式
    输入格式:
    一个数字,楼梯数。
    输出格式:
    走的方式几种。
    输入输出样例
    输入样例#1:
    4
    输出样例#1:
    5
    说明:
    用递归会太慢,需用递推
    (60% N<=50 ,100% N<=5000)

    #include<iostream>
    #include<cstring>
    using namespace std;
    const int maxn=5010;
    int n;
    struct node
    {
        int f[1050];
        int len;
    }ans[maxn];
    node add(node a,node b)
    {
        node c;c.len=1;
        memset(c.f,0,sizeof(c.f));
        int x=0;
        while(c.len<=a.len||c.len<=b.len)
        {
            c.f[c.len]=a.f[c.len]+b.f[c.len]+x;
            x=c.f[c.len]/10;
            c.f[c.len]=c.f[c.len]%10;
            c.len++;
        }
        c.f[c.len]=x;
        if(c.f[c.len]==0)
        c.len--;
        return c;
    }
    int main()
    {
        cin>>n;
        ans[0].f[1]=0;
        ans[0].len=1;
        ans[1].f[1]=1;
        ans[1].len=1;
        ans[2].f[1]=2;
        ans[2].len=1;
        for(int i=3;i<=n;i++)
        ans[i]=add(ans[i-2],ans[i-1]);
        for(int i=ans[n].len;i>=1;i--)
        cout<<ans[n].f[i];
        return 0;
    }
  • 相关阅读:
    bzoj 1295 [SCOI2009]最长距离 最短路
    bzoj 3669 [Noi2014]魔法森林
    bzoj 1432 [ZJOI2009]Function 思想
    用JSP输出Hello World
    Web开发基础
    JSP相关背景
    JSP概述
    Java视频播放器的制作
    为JFileChooser设定扩展名过滤
    使用JFileChooser保存文件
  • 原文地址:https://www.cnblogs.com/cax1165/p/6070913.html
Copyright © 2011-2022 走看看