Problem Description
A Fibonacci sequence is calculated by
adding the previous two members the sequence, with the first two
members being both 1.

F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n - 1) +
F(n-2) + F(n-3) + F(n-4)

Your task is to take a number as input, and print that Fibonacci
number.
 

Input
Each line will contain an integers.
Process to end of file.
 

Output
For each case, output the result in a
line.
 

Sample Input
100
 

Sample Output
4203968145672990846840663646
Note:
No generated Fibonacci number in excess of 2005 digits will be in the test data, ie. F(20) = 66526 has 5 digits.

纪念构建大数模板成功!!!!!(大一上学期写的,所以代码有点糙,献丑了0.0)

代码:
#include

using namespace std;

vectorv;

string big_num(string nl,string ml)

{

    //cout<<nl<<" "<<ml<<endl;

    string str="";

    int t,len,lon,j,x=1,l,m[2050],n[2050];

    memset(m,0,sizeof m);

    memset(n,0,sizeof n);

    j=0;

    len=nl.size();

    lon=ml.size();

    for(int i=len-1;i>=0;i--)

    {

        n[i]=nl[j++]-'0';

        //cout<<n[i]<<endl;

    }

    j=0;

    for(int i=lon-1;i>=0;i--)

    {

        m[i]=ml[j++]-'0';

    }

    if(len

    l=lon;

    else

    l=len;

    for(int j=0;j<=l-1;j++)

    {

        n[j]+=m[j];

        if(n[j]>=10)

        {

            n[j+1]=n[j+1]+1;

            n[j]=n[j]-10;

        }

    }

    if(n[l]==0)

    {

        //cout<<n[0]<<endl;

        for(int i=l-1;i>=0;i--)

        {

            str+=(n[i]+'0');

            //cout<<str<<endl;

            //cout<<n[i];

        }

        return str;

    }

    else

    {

        for(int i=l;i>=0;i--)

        {

            str+=(n[i]+'0');

            //cout<<str<<endl;

        }

        //cout<<n<<endl;

        return str;

    }

}

void solve()

{

    v.push_back("1");

    v.push_back("1");

    v.push_back("1");

    v.push_back("1");

    v.push_back("1");

    for(int i=5;;i++)

    {

        //cout<<v[i-1]<<" "<<v[i-2]<<" "<<v[i-3]<<" "<<v[i-4]<<endl;

        v.push_back(big_num(big_num(v[i-1],v[i-2]),big_num(v[i-3],v[i-4])));

       // cout<<"前四项为:";

        //cout<<v[i-1]<<" "<<v[i-2]<<" "<<v[i-3]<<" "<<v[i-4]<<endl;

        //cout<<"和为:";

        //cout<<v[i]<<endl;

        if(v[i].size()>2006)

            return;

    }

}

int main()

{

    //freopen("in.txt", "r", stdin);

    solve();

    int n;

    while(scanf("%d",&n)!=EOF)

    {

        //cout<<"前四项为:";

        //cout<<v[n-1]<<" "<<v[n-2]<<" "<<v[n-3]<<" "<<v[n-4]<<endl;

        //cout<<"和为:";

        cout<<v[n]<<endl;

    }

    return 0;

}


Hat's Fibonacci的更多相关文章

  1. hdu 1250 Hat's Fibonacci

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1250 Hat's Fibonacci Description A Fibonacci sequence ...

  2. Hat's Fibonacci(大数,好)

    Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  3. Hat's Fibonacci(大数加法+直接暴力)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1250 hdu1250: Hat's Fibonacci Time Limit: 2000/1000 M ...

  4. (二维数组 亿进制 或 滚动数组) Hat's Fibonacci hdu1250

    Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. HDUOJ----1250 Hat's Fibonacci

    Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  6. HDU 1250 Hat's Fibonacci(大数相加)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1250 Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Ot ...

  7. HDU 1250 Hat's Fibonacci (递推、大数加法、string)

    Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  8. hdu 1250 Hat's Fibonacci(高精度数)

    //  继续大数,哎.. Problem Description A Fibonacci sequence is calculated by adding the previous two membe ...

  9. HDOJ/HDU 1250 Hat's Fibonacci(大数~斐波拉契)

    Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequen ...

  10. HDU1250:Hat's Fibonacci

    Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequen ...

随机推荐

  1. java实现excel和数据的交互

    1. 环境要求 本文环境为: 数据库为oracle,jdk为jdk7,依赖jar包为ojdbc6-11.2.0.4.0.jar+poi-3.14.jar 2.POI 使用 1. 建立工作空间 2. 获 ...

  2. 如何用kaldi做孤立词识别-初版

    ---------------------------------------------------------------------------------------------------- ...

  3. axios 学习笔记

    官方文档地址:https://github.com/axios/axios axios 是一个基于 Promise 的HTTP库,可以用在浏览器和 node.js 中 特性: • 从浏览器发起 XML ...

  4. Hive基础(4)---Hive的内置服务

    版权声明:<—— 本文为作者呕心沥血打造,若要转载,请注明出处@http://blog.csdn.net/gamer_gyt <——   目录(?)[+]   一:Hive的几种内置服务 ...

  5. 记XDCTF的misc之旅---base64隐写

    bWFpbigpe2ludCBpLG5bXT17KCgoMSA8PDEpPDwgKDE8PDEpPDwoMTw8Cm==ICAgICAgIDEpPDwoMTw8KDE+PjEpKSkrKCgxPDwx ...

  6. C++ Primer Plus 6 第一章

    一.机器语言.汇编语言.C\C++.高级语言 机器语言:机器真正识别,能在机器上运行的语言. 汇编语言:低级语言,直接操作硬件,如直接访问cpu寄存器和内存单元.不具有移植性.因为不同的平台对应的硬件 ...

  7. Select的option事件问题

    一开始看你们会觉得没问题,我也就是觉得没问题所以才找不到错误所在. 问题出在option本身是没有事件的说法的,只能在select里添加事件,再获取option的属性值 这是我的写法 select设置 ...

  8. 一个强迫症的Git 选择

    选择 1,经常性的commit or 干净的历史 在本地(私有)的开发分支中,选择经常性的commit,以便于实时记录修改,回退等操作.eg.develop,feature... 实现方式: comm ...

  9. 【DDD】业务建模实践 —— 人关注人

    社区业务领域中,存在‘人关注人’的场景,在这个场景中,关系较为复杂,且均表现在‘人’同一个业务实体上,因此,这个case的建模过程值得思考.本文将就‘人关注人’这个业务case的领域建模进行探讨,欢迎 ...

  10. zoj3432 Find the Lost Sock 亦或的运用

                     只有一个出现奇数次,答案就是它了: #include<cstdio> #include<cstdlib> #include<iostre ...