hoj 1533 Fibonacci Numbers
http://acm.hit.edu.cn/hoj/problem/view?id=1533
用字符串表示整数,进行大数加法运算
/*This Code is Submitted by billforum for Problem 1533 at 2012-03-30 14:50:02*/ #include <iostream> #include <string.h> #include <stdio.h> #include <stack> using namespace std; int main() { string t1,t2,t; int z; int num; while(scanf("%d",&num)!=EOF) { if(num==1||num==2) { printf("1\n"); } else { t1="1"; t2="1"; for(int k=3;k<=num;k++) { int i,j; z=0; t=""; for(i=t1.length()-1,j=t2.length()-1;i>=0;i--,j--) { t+=(char)((t1[i]-48+t2[j]-48+z)%10+48); z=(t1[i]-48+t2[j]-48+z)/10; } for(i=j;i>=0;i--) { t+=(char)((t2[i]-48+z)%10+48); z=(t2[j]-48+z)/10; } if(z>0) { t+=(char)(z+48); } t1=""; t1=t2; t2=""; for(int ii=t.length()-1;ii>=0;ii--) t2+=t[ii]; } cout<<t2<<endl; } } return 0; }