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

    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

     高精度运算,我们可以定义一个高精度类,代码如下:

    #include<stdio.h>
    #include<string.h>
    int m=10000;
    struct bignum{
        int s[100];
        int l;
    }f[1001];
    bignum operator+(bignum a,bignum b)
    {
        int i,d=0;
        if(b.l<a.l)
            b.l=a.l;
        for(i=1;i<=b.l;i++)
        {
            b.s[i]+=d+a.s[i];
            d=b.s[i]/m;
            b.s[i]%=m;
        }
        if(d) b.s[b.l+1]=d,b.l++;
        return b;
    }
    void print(bignum a)
    {
        printf("%d",a.s[a.l]);
        for(int i=a.l-1;i>0;i--)
            printf("%04d",a.s[i]);
        printf("
    ");
    }
    int main()
    {
        int n,b;
        f[1].s[1]=1;f[2].s[1]=1;
        f[1].l=1;f[2].l=1;
        for(int i=3;i<=1000;i++)
        {
            f[i]=f[i-1]+f[i-2];
        }
        scanf("%d",&n);
        while(n--){
            scanf("%d",&b);
             print(f[b]);
        }
        return 0;
    }
  • 相关阅读:
    函数名的使用-闭包-迭代器
    函数
    文件操作
    基础数据补充
    python基础-数据类型(2)
    python基础-数据类型(1)
    PHP 缓存技术(一)
    linux学习笔记整理(九)
    linux学习笔记整理(八)
    linux学习笔记整理(七)
  • 原文地址:https://www.cnblogs.com/duan-to-success/p/3651716.html
Copyright © 2011-2022 走看看