Fibonacci Numbers 基于大数加法
来源:互联网 发布:老牛登录器源码 编辑:程序博客网 时间:2024/06/05 04:16
Problem description Fibonacci数列是一个典型的递归数列,F1 = F2 = 1;Fn = Fn-2 + Fn-1,当n>=3时。 Input 每一行一个整数,直到EOF。Output 每一行输出对应的Fibonacci数。本题的输出都不会超过1000位。Sample Input
10020Sample Output
3542248481792619150756765
//AC的代码,VC++6.0通过
#include<iostream>#include<string>using namespace std;const int M=6000;//这道题坑爹的卡数据string add(string st1, string st2){string st;int a[1100]={0},b[1100]={0};int len1,len2,len,i;len1=st1.length();len2=st2.length();for(i=len1-1;i>=0;i--)a[len1-1-i]=st1[i]-'0';for(i=len2-1;i>=0;i--)b[len2-1-i]=st2[i]-'0';len=(len1>len2)?len1:len2;for (i=0;i<len;i++){a[i]=a[i]+b[i];if (a[i]>=10){a[i+1]+=a[i]/ 10;a[i]%=10;if (i==len-1) len++;}} st=""; for (i=0;i<len;i++) st+=a[len-1-i]+'0'; return st;}int main(){int n,i;string p[M];p[0]="0"; p[1]="1";for(i=2;i<4800;i++)//卡数据p[i]=add(p[i-1],p[i-2]);while(cin>>n){cout<<p[n]<<endl;}return 0;}
原文出处:http://hi.baidu.com/zch109/item/daf7a3a123328899141073df
这道题坑爹的卡数据啊!
HUNNU OJ 10509
下面是超时的代码:
#include<iostream>#include<string>using namespace std;const int M=1000;string p[M];string sum(string s1,string s2){if(s1.length()<s2.length()){string temp=s1;s1=s2;s2=temp;}int i,j;for(i=s1.length()-1,j=s2.length()-1;i>=0;i--,j--){s1[i]=char(s1[i]+(j>=0? s2[j]-'0':0));if(s1[i]-'0'>=10){s1[i]=char((s1[i]-'0')%10+'0');if(i) s1[i-1]++;else s1='1'+s1;//?求解释}}return s1;}int main(){int n;while(cin>>n){p[0]="0"; p[1]="1";for(int i=2;i<=n;i++)p[i]=sum(p[i-1],p[i-2]);cout<<p[n]<<endl;}return 0;}
- Fibonacci Numbers 基于大数加法
- zoj 1828 Fibonacci Numbers(大数加法= =)
- ZOJ 1828 Fibonacci Numbers (大数)
- PDSOJ 1048 Fibonacci Numbers(大数)
- hdu1250Hat's Fibonacci(大数加法)
- HDU1250~Hat's Fibonacci(大数加法)
- UVA 10579 Fibonacci Numbers(高精度加法)
- UVa 11582 Colossal Fibonacci Numbers! 【大数幂取模】
- UVA 11582 - Colossal Fibonacci Numbers!【大数幂取模】
- UVA-10579 Fibonacci Numbers(Java大数)
- hdu 1250 Hat's Fibonacci(大数加法)
- hdu 4099 Revenge of Fibonacci 大数加法+字典树
- hdu 4099 Revenge of Fibonacci(字典树+大数加法)
- HDU 1250 Hat's Fibonacci 大数加法 进位10000000
- HDU 4099 Revenge of Fibonacci(大数加法+字典树)
- HDU 1250 Hat's Fibonacci(递推+大数加法)
- HDOJ 1250 Hat's Fibonacci (大数的加法)
- HDU 4099 Revenge of Fibonacci(字典树+大数加法)
- matlab中用命令打开指定的m文件
- wince6.0驱动开发
- 程序人生--2010年(58)
- 重装PB6.0,记录
- 一个基于1:1比例的匹配的实例及详解
- Fibonacci Numbers 基于大数加法
- 一个基于可变比例的匹配的实例及详解
- 拿电子技术比喻人生
- SMIL编程学习(一)(简介)
- 一个基于固定比例尺寸的缺陷检测的实例及逐步图片详解
- ubuntu的su初始密码设置
- 在使用jquery ui的拖拽功能的时候,如何让两个div重复
- hdu 1080 Human Gene Functions (dp)
- 34:E ·Power Network(最大流算法-----压入重标法篇)