hdu 1250 Hat's Fibonacci
来源:互联网 发布:茗记4知乎 编辑:程序博客网 时间:2024/06/06 18:26
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1250
题目描述:
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
4203968145672990846840663646Note:No generated Fibonacci number in excess of 2005 digits will be in the test data, ie. F(20) = 66526 has 5 digits.
题目分析:
二维数组,但是如果每个位置存储10(即0~9中的某一个)会超内存,所以在这里我每个位置存储8位数(即0~100000000)
AC代码:
#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>#include<cstdlib>#define MOD 100000000using namespace std;int v[8000][305];void Init(){ v[1][1]=1; v[2][1]=1; v[3][1]=1; v[4][1]=1; for(int i=5;i<8000;i++) { for(int j=1;j<300;j++) v[i][j]=v[i-1][j]+v[i-2][j]+v[i-3][j]+v[i-4][j]; for(int j=1;j<300;j++) { if(v[i][j]/MOD) { v[i][j+1]+=(v[i][j]/MOD); v[i][j]%=MOD; } } }}int main(){ Init(); int n; while(scanf("%d",&n)!=EOF) { int k; for(k=300;k>=1;k--) { if(v[n][k]) break; } printf("%d",v[n][k]); for(int j=k-1;j>=1;j--) { printf("%08d",v[n][j]); } printf("\n"); } return 0;}
0 0
- hdu 1250 Hat's Fibonacci
- HDU 1250 Hat's Fibonacci
- Hdu 1250 Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- HDU 1250-Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- hdu-1250-Hat's Fibonacci
- Hdu---Hat's Fibonacci---1250
- hdu 1250 Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- HDU 1250: Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- hdu-1250-Hat's Fibonacci
- HDU 1250 Hat's Fibonacci
- HDU 1250 Hat's Fibonacci
- 【JZOJ4816】label
- Java Executor并发框架(十二)Executor框架线程池BlockingQueue的三种实现区别
- HDOJ acm 1022 火车进站出站(栈系列)
- PostgreSQL学习笔记---1 源码编译安装PostgreSQL
- 三库 — 信息库 数据库 数据仓库
- hdu 1250 Hat's Fibonacci
- c++中class 中的this指针
- 多线程下单例模式的安全性
- libevent中的tail queue详细分析
- NLP学习资料
- hdoj1847(巴什博弈)
- 小米 note手机 选择本地视频 获取cursor 为空
- 引用类型和基本类型的区别与联系
- memcached在widdows环境下的详细剖析