1 #include <stdio.h> 2 #include <string.h> 3 #define N 200 4 5 6 char* largeSum(char s1[200],char s2[200]){ 7 int a[N]={0},b[N]={0},l1,l2,c,k,i; 8 char result[N]; 9 char *result1=result; 10 l1=strlen(s1); 11 l2=strlen(s2); 12 if(l1<l2) k=l2; 13 else 14 k=l1; 15 c=k; 16 for(i=0;i<l1;k--,i++) 17 a[k]=s1[l1-1-i]-'0'; 18 19 for(k=c,i=0;i<l2;k--,i++) 20 b[k]=s2[l2-1-i]-'0'; 21 22 23 for(i=c;i>=0;i--){ 24 a[i]+=b[i]; 25 if(a[i]>=10){ 26 a[i]-=10; 27 a[i-1]++; 28 } 29 } 30 31 int y=0; 32 int yy=0; 33 for(i=0;i<=c;i++){ 34 if(a[i]==0) 35 y++; 36 else break; 37 } 38 for(i=y,yy=0;i<=c;i++,yy++){ 39 result[yy]=(char)(a[i]+48); 40 } 41 result[yy]='\0'; 42 return result1; 43 44 } 45 46 47 int main() { 48 char f[200][200]; 49 int x; 50 strcpy(f[0],"1"); 51 strcpy(f[1],"2"); 52 for(x=2;x<200;x++){ 53 strcpy(f[x],largeSum(f[x-1],f[x-2])); 54 printf("f[%d]=%s\n",x,f[x]); 55 } 56 return 0; 57 }
浙公网安备 33010602011771号