Hat's Fibonacci
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5800 Accepted Submission(s): 1926
Problem Description
A Fibonacci sequence is calculated by adding the previous two members the sequence, with the first two members being both 1.
F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n - 1) + F(n-2) + F(n-3) + F(n-4)
Your task is to take a number as input, and print that Fibonacci number.
F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n - 1) + F(n-2) + F(n-3) + F(n-4)
Your task is to take a number as input, and print that Fibonacci number.
Input
Each line will contain an integers. Process to end of file.
Output
For each case, output the result in a line.
Sample Input
100
Sample Output
4203968145672990846840663646 Note: No generated Fibonacci number in excess of 2005 digits will be in the test data, ie. F(20) = 66526 has 5 digits.
Author
戴帽子的
Recommend
Ignatius.L
大数题,我先是用打表的方法,发现数字到达7037的时候,数字规模才能达到2005 ...然后用7037*2005 ---->已经超过内存,所以这条路实不可取的。。。唯一的方法,只好暴力法,但又担心会超时,可是,喜感就是,竟然过了,还应458ms。。。。哎!!!。
贴下代码:
1 1 #include<stdio.h> 2 2 #include<string.h> 3 3 #define maxn 2006 4 4 int a[maxn],b[maxn],c[maxn],d[maxn],ans[maxn]; 5 5 int main() 6 6 { 7 7 int i,j,e,s,up,num; 8 8 while(scanf("%d",&num)!=EOF) 9 9 { 10 10 if(num<=4) 11 11 printf("1"); 12 12 else 13 13 { 14 14 memset(a,0,sizeof a); 15 15 memset(b,0,sizeof b); 16 16 memset(c,0,sizeof c); 17 17 memset(d,0,sizeof d); 18 18 memset(ans,0,sizeof ans); 19 19 a[0]=b[0]=c[0]=d[0]=1; 20 20 for(i=4,up=1;i<num;i++) 21 21 { 22 22 for(j=0,e=0;j<=up;j++) 23 23 { 24 24 s=a[j]+b[j]+c[j]+d[j]+e; 25 25 ans[j]=s%10; 26 26 e=(s-ans[j])/10; 27 27 if(s>9&&j==up) up++; 28 28 a[j]=b[j]; 29 29 b[j]=c[j]; 30 30 c[j]=d[j]; 31 31 d[j]=ans[j]; 32 32 } 33 33 } 34 34 for(j=maxn;ans[j]==0;j--); 35 35 for(i=j;i>=0;i--) 36 36 { 37 37 printf("%d",ans[i]); 38 38 } 39 39 } 40 40 printf("\n"); 41 41 } 42 42 return 0; 43 43 }View Code
相关推荐
杭电acm在线测试的分类,不是很全,分享给大家
有需要2019年杭电多校数据和标程的可以下载参考的,还有官方题解
大家在刷题时,总是想找各种类型,或对单一题型的题目,来提高自己,所以就把以前留下来的POJ,HDUOJ题目分类串传上来了
HDUOJ离线版(目前最新的版本),ACMER 的好帮手来啦啊!呵呵。。。版本也是目前最新的哦!
hduoj专用解题报告,适合初学者入门,可用!@!!
HDOJ练习题目源码,约100多道题目,附带题目类型等等
杭电ACM第1001题的代码。这个A+B PROBLEM的变形。初学者只要习惯了就好
BZOJ,POJ,LeetCode,USACO,HDUOJ,LA的比赛解决方案 有话要说 嗨,我是Ex10si0n。 该存储库用于记录我的OJ AC代码。 关于我 OIer,Develpoer。 希望这个仓库可以帮助那些通过Probelm ID找到LeetCode或其他OJ解决...
为了方便广大没有网络的朋友.......
C++ 杭电的几道ACM水题 不值得一提 拿来赚点分
基础算法类 ACM 入门 杭电OJ 11页题目题解,算法入门的时候刷题可以参考 搜集整理起来了比单个去搜题解方便快捷
HDUOJ代码备份爬虫,采用Selenium测试框架爬取HDUOJ已通过题目信息并下载到本地打包
leetcode 和 oj ACM Practice for algorithm and coding. The exam questions come from POJ, HDU OJ and Leetcode. 母函数 数学 排序
蟠桃记 1 折线分割平面 2 不容易系列之一 2 骨牌铺方格 3 不容易系列之(3)—— LELE的RPG难题 3 Children’s Queue 3 献给杭电五十周年校庆的礼物 3 钥匙计数之二 3 钥匙计数之一 3 母牛的故事 3 ...
杭电HDUOJ爬虫脚本,采用Selenium测试框架编写,爬取完后会自动调用百度api翻译
主要在hduoj找到的试题,整理成一个文档以便打印,其中2016年的没有A,B,这两个是我最近刚做过,水题懒得往上加了。
这是HDUOJ上面的140道题目的答案,其中大部分都是简单题,有些太简单的就没有收集进去,代码为C/C++,全都AC了的,其中有些有具体的说明是怎么做的,例如博弈论那些
前面那个是比较简单的HDUOJ上的题目,浙大的就有点难度,所以这里就收集得比较多了,解答全部都是用C++编码来写的,有需要的去下载,前面还有一个是杭电的
HDUOJ : 杭州电子科技大学Online Judge . HUSTOJ : 华中科技大学Online Judge UESTCOJ : 电子科技大学Online Judge NBOJ : 宁波工程学院Online Judge FZUOJ : 福州大学Online Judge UVaOJ : 西班牙Valladolid...
codefores/problemset/还有HDUOJ、POJ和洛谷/这几个文件夹的以后可能还会更新吧,因为无聊的时候可能会去刷刷题,当然其它的也有可能更新,以后的事也说不准。 update 20210123 开始转战。以后有时间偶尔可能会在...