hdoj 1715 大菲波数

简介: 先java代码

先java代码:


import java.util.Scanner;
import java.math.*;
public class Main {
  public static void main(String[] args) {
    Scanner cin = new Scanner(System.in);
    BigInteger fb[] = new BigInteger [1005];
    fb[1] = BigInteger.valueOf(1);
    fb[2] = BigInteger.valueOf(1);
    for (int i = 3; i < 1005; i++)
      fb[i] = fb[i-1].add(fb[i-2]);
    int t = cin.nextInt();
    while (t != 0) {
      t--;
      int n = cin.nextInt();
      System.out.println(fb[n]);
    }
    cin.close();
  }
}


然后是C++代码:

#include<stdio.h>
int fb[1001][100];
void add(int *s1,int *s2,int *s3)
{
    int t=0;
    for(int i=0;i<100;i++)
    {
        s3[i]=(s1[i]+s2[i])%10000+t;
        t=(s1[i]+s2[i])/10000;
    }
}
void print(int *s)
{
    for(int i=99;i>=0;i--)
        if(s[i]!=0)
            break;
    printf("%d",s[i--]);
    for(;i>=0;i--)
        printf("%04d",s[i]);
    puts("");
}
int main()
{
    int t,n;
    scanf("%d",&t);
    fb[1][0]=1;
    fb[2][0]=1;
    for(int i=3;i<=1000;i++)
        add(fb[i-1],fb[i-2],fb[i]);
    while(t--)
    {
        scanf("%d",&n);
        print(fb[n]);
    }
    return 0;
}
目录
相关文章
HDOJ 2046 骨牌铺方格
HDOJ 2046 骨牌铺方格
148 0
HDOJ 2046 骨牌铺方格
|
Java
HDOJ 1715 大菲波数
HDOJ 1715 大菲波数
107 0
HDOJ 2033 人见人爱A+B
HDOJ 2033 人见人爱A+B
154 0
HDOJ 1412 {A} + {B}
HDOJ 1412 {A} + {B}
117 0
|
机器学习/深度学习 网络协议 缓存
HDOJ 1303 Doubles(简单题)
Problem Description As part of an arithmetic competency program, your students will be given randomly generated lists of from 2 to 15 uniq...
985 0
HDOJ 2075 A|B?
Problem Description 正整数A是否能被正整数B整除,不知道为什么xhd会研究这个问题,来帮帮他吧。 Input 输入数据的第一行是一个数据T,表示有T组数据。
949 0
|
人工智能 BI
HDOJ 2040 亲和数
Problem Description 古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284。
868 0