HDU 大数问题
2015-07-28 22:21
232 查看
大菲波数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14121 Accepted Submission(s): 4806
[align=left]Problem Description[/align]
Fibonacci数列,定义如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
计算第n项Fibonacci数值。
[align=left]Input[/align]
输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。
[align=left]Output[/align]
输出为N行,每行为对应的f(Pi)。
[align=left]Sample Input[/align]
5 1 2 3 4 5//解题思路:这道题被OT好多次,最后看别人的思路才明白,我猜的是在OJ运行的时候是从输入到输出的时间,而且最后输入输出很聪明的避过这个问题,计算这种问题用二维数组是很好的。参考代码如下:[code]#include<stdio.h> #include<string.h> #define N 1004 int a[1001][1005]; int main(){int i,j; memset(a,0,sizeof(a)); a[1][0]=1; a[2][0]=1; for(i=3;i<=1000;i++) { for(j=0;j<=N;j++) { a[i][j]+=a[i-1][j]+a[i-2][j]; if(a[i][j]>=10) { a[i][j]%=10; a[i][j+1]++; } } } int s,n; scanf("%d",&s); while(s--) { scanf("%d",&n); if(n==1||n==2) {printf("1\n"); continue; } if(n>=3) { for(i=N;i>=0&&a [i]==0;i--); for(;i>=0;i--) printf("%d",a [i]); printf("\n"); } } return 0; }</pre></div>[/code]
相关文章推荐
- Median of Two Sorted Arrays
- 久违的数据库左连接
- 面试总结之Java基础(未完工)
- Android中客户端请求服务器端的方式讲解(一)附源码
- HTML5的新增方法
- HTTP请求缓存配置及原理
- c读写文件
- 黑马程序员——java中String、StringBuffer、StringBuilder简单见解
- 使用sort和awk来实现对文件块进行排序
- JAVA IO流学习案例
- ArcSOC占用内存和磁盘
- OutOfMemoryError PermGen space
- OC--block
- 如何删除Xcode中安装的插件
- JSON总结- JSON与JAVA的数据转换实例
- pip2pi和pypiserver及Apache在pip本地源配置中的应用实践
- hdu 1241 Oil Deposits
- 微信企业号回调模式配置详细讲解
- 【暑假测试2】B HDU 4730 We Love MOE Girls
- 第十六章、Raid及mdadm命令