大斐波数

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

输入

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

输出

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

样例输入

5
1
2
3
4
5

样例输出

1
1
2
3
5

提示

此题需要用大数处理

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;

#define maxn 1005

int fib [maxn][maxn] = {0};

void Add(int a[], int b[], int c[])
{
for(int i = 0; i < maxn; i++)
{
a[i] += b[i] + c[i];
a[i+1] += a[i]/10;
a[i] %= 10;
}
}

void PutNum(int a[])
{
int len;
for(int i = maxn-1; i >= 0; i--)
{
if(a[i])
{
len = i;
break;
}
}

for(int i = len; i >= 0; i--)
cout << a[i];

cout << endl;
}
int main()
{
fib[1][0] = fib[2][0] = 1;

for(int i = 3; i <= 1000; i++)
{
Add(fib[i], fib[i-1], fib[i-2]);
}
int T, n;

cin >> T;

while(T--)
{
cin >> n;

PutNum(fib[n]);
}

return 0;
}

时间: 2024-10-07 01:52:34

大斐波数的相关文章

大菲波数(Fibonacci)java大数(hdu1715)

大菲波数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11520 Accepted Submission(s): 3911 Problem Description Fibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3.计算第n项Fibonacci数值. Input 输入第一行为一个整数N,接

HDOJ 1715 大菲波数

JAVA大数.... 大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10812    Accepted Submission(s): 3653 Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值

UVA 11582 Colossal Fibonacci Numbers! 大斐波那契数

大致题意:输入两个非负整数a,b和正整数n.计算f(a^b)%n.其中f[0]=f[1]=1, f[i+2]=f[i+1]+f[i]. 即计算大斐波那契数再取模. 一开始看到大斐波那契数,就想到了矩阵快速幂,输出等了几秒钟才输出完,肯定会超时.因为所有计算都是要取模的,设F[i]=f[i] mod n.F[0]=F[1]=1.只要出现F[i]=F[i+1]=1,那么整个序列就会重复.例如n=3,则序列为1,1,2,0,2,2,1,0,1,1……第九项和第十项都等于1,所以之后的序列都会重复. 至

hdu 1715 大菲波数

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1715 大菲波数 Description $Fibonacci$数列,定义如下:$f(1)=f(2)=1$$f(n)=f(n-1)+f(n-2) \ \ 3 \leq n$.计算第$n$项$Fibonacci$数值. Input 输入第一行为一个整数$N$,接下来$N$行为整数$Pi(1 \leq P_i \leq 1000)$. Output 输出为$N$行,每行为对应的$f(P_i)$. Samp

HDU1715 大菲波数 【C版本】

大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11137    Accepted Submission(s): 3769 Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Input 输入第

大菲波数 【杭电-HDOJ-1715】 附题+具体解释

/* 大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11168    Accepted Submission(s): 3782 Problem Description Fibonacci数列.定义例如以下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Inpu

hdu 1715 大菲波数 高精度和运算,水

1.hdu 1715  大菲波数 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 3.总结:水 #include<iostream> #include<cstring> #include<cmath> #include<queue> #include<algorithm> #include<cstdio> #define max(a,b) a>b?a:b using nam

hdu1715 大菲波数

转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=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行,每行为对应

HDU 1715 大菲波数(JAVA, 简单题,大数)

题目 //BigInteger 和 BigDecimal 是在java.math包中已有的类,前者表示整数,后者表示浮点数 import java.io.*; import java.util.*; import java.math.*; public class Main { /** * @xqq */ public BigInteger an(BigInteger a, BigInteger b, int n) { if(n == 1) { return a; } for(int i = 2