加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

【杭电oj】1715 - 大菲波数(大数递推)

发布时间:2021-02-26 22:45:23 所属栏目:大数据 来源:网络整理
导读:点击打开题目 大菲波数 Time Limit: 1000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17138????Accepted Submission(s): 5689 Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-

点击打开题目

大菲波数

Time Limit: 1000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17138????Accepted Submission(s): 5689


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
  
  
?
Source 2007省赛集训队练习赛(2)



第1000位的位数为209,注意精度就行了。

代码如下:

#include <cstdio>
int main()
{
	int k,n,u;
	int fi[1011][211] = {0};
	fi[1][1] = 1;
	fi[2][1] = 1;
	for (int i = 3 ; i <= 1000 ; i++)
	{
		for (int j = 1 ; j <= 210 ; j++)
		{
			fi[i][j] += fi[i-1][j] + fi[i-2][j];
			if (fi[i][j] >= 10)
			{
				fi[i][j] -= 10;
				fi[i][j+1]++;
			}
		}
	}
	scanf ("%d",&u);
	while (u--)
	{
		scanf ("%d",&n);
		k = 210;
		for ( ; fi[n][k] == 0 ; k--);
		for ( ; k >= 1 ; k--)
			printf ("%d",fi[n][k]);
		printf ("n");
	}
	return 0;
}

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读