zoukankan      html  css  js  c++  java
  • hdu1715 大菲波数

    大菲波数

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 19396 Accepted Submission(s): 6510

    Problem Description
    Fibonacci数列,定义如下:
    f(1)=f(2)=1
    f(n)=f(n-1)+f(n-2) n>=3。
    计算第n项Fibonacci数值。

    Input
    输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。

    Output
    输出为N行,每行为对应的f(Pi)。

    Sample Input
    5
    1
    2
    3
    4
    5

    Sample Output
    1
    1
    2
    3
    5
    跟这道提差不多:http://blog.csdn.net/zxy160/article/details/62892244
    做完这道,秒a

    #include<stdio.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int f[10000][260]= {0};
    int n;
    int i,j;
    void init()
    {
        f[1][0]=1;
        f[2][0]=1;
        for(i=3; i<10000; i++)
        {
            for(j=0; j<260; j++)
                f[i][j]=f[i-1][j]+f[i-2][j];//对应上面四位数的位置并相加
                //求出现在的数
            for(j=0; j<260; j++)
                if(f[i][j]>100000000)//如果超过8位数,向前进
                {
                    f[i][j+1]+=f[i][j]/100000000;
                    f[i][j]=f[i][j]%100000000;
                }
        }
    }
    int main()
    {
        init();
        int t;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            for(i=259; i>=0; i--)//找到高位不为0的那个数
            {
                if(f[n][i]!=0)
                    break;
            }
            printf("%d",f[n][i]);//先输出
            for(j=i-1; j>=0; j--)//从=下一位开始
            {
                printf("%08d",f[n][j]);//输出8位,不够左补0
            }
            printf("
    ");
        }
        return 0;
    }
    
    "No regrets."
  • 相关阅读:
    csp-s模拟 77/78 (达哥专场)
    csp-s 模拟76
    csp-s模拟75 导弹袭击
    反思集
    模拟69/70 考试反思
    抱大腿
    csp-s模拟61 甜圈
    实时记录
    好题思路集汇
    半集训反思 8.28 「路,还是要自己走的」
  • 原文地址:https://www.cnblogs.com/zxy160/p/7215144.html
Copyright © 2011-2022 走看看