hdu 1250 Hat's Fibonacci(大数加法)
来源:互联网 发布:java list 泛型写法 编辑:程序博客网 时间:2024/05/21 11:33
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.
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.
代码:
#include <iostream>#include<cstdio>#include<cmath>#include<string.h>#define MAXI 7050using namespace std;void bigadd(char a[],char b[],char c[]){ int i,j,la,lb,lc,flag=0,k=0; char t; i=strlen(a)-1; j=strlen(b)-1; while(i>=0&&j>=0) { t=a[i--]+b[j--]+flag-'0'; flag=(t-'0')/10; t=t-flag*10; c[k++]=t; } while(i>=0) { t=a[i--]+flag; flag=(t-'0')/10; t=t-flag*10; c[k++]=t; } while(j>=0) { t=b[j--]+flag; flag=(t-'0')/10; t=t-flag*10; c[k++]=t; } if(flag){c[k]=flag+'0'; c[k+1]='\0';} else{ k--;c[k+1]='\0';} for(i=0,j=strlen(c)-1;i<j;i++,j--) { t=c[i];c[i]=c[j];c[j]=t; } }char a[MAXI][2050],c[2050],d[2050];int main(){ int i,j,n; strcpy(a[1],"1"); strcpy(a[2],"1"); strcpy(a[3],"1"); strcpy(a[4],"1"); for(i=5;i<MAXI;i++) { bigadd(a[i-1],a[i-2],c); bigadd(c,a[i-3],d); bigadd(d,a[i-4],a[i]); } while(~scanf("%d",&n)) { printf("%s\n",a[n]);}return 0;}
- hdu 1250 Hat's Fibonacci(大数加法)
- HDU 1250 Hat's Fibonacci 大数加法 进位10000000
- HDU 1250 Hat's Fibonacci(递推+大数加法)
- HDU 1250-Hat's Fibonacci(大数)
- HDU1250~Hat's Fibonacci(大数加法)
- HDOJ 1250 Hat's Fibonacci (大数的加法)
- hdu 1250 Hat's Fibonacci(高精度加法)
- HDU 1250 Hat's Fibonacci(高精度加法)
- hdu 1250 Hat's Fibonacci(java大数)
- 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 (JAVA大数)
- hdu 1250 Hat's Fibonacci(大数)
- HDU 1250 Hat's Fibonacci JAVA大数
- hdu 1250 Hat's Fibonacci (大数相加,水题)
- HDU 1250 Hat's Fibonacci(Java大数相加)+讲解
- 编写简单的查询语句
- XCode里创建的Cocos2d-x项目如何C++与ObjC混编,以及调用APPLE API和ObjC函数
- shell &> 与 >> 的区别
- JNI技术实践小结--原理分析和详细步骤截图说明
- HDU 1147 Pick-up sticks(计算几何 判断直线相交)
- hdu 1250 Hat's Fibonacci(大数加法)
- EF 数据丢失
- 限制数据和对数据排序
- HDU DP46题
- Java 网络程序设计 笔记
- 单行函数
- HDU4612(Warm up)2013多校2-图的边双连通问题(Tarjan算法+树形DP)
- sql复制表、拷贝表、临时表
- vs2008 安装mvc2.0 后 加载不成功的原因及解决方法