Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
so easy....#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #define N 100 int a[N]={0},b[N]={0},c[N]={0}; void big_add(int *a,int *b)//two big number add ,result in a_array. { int n,m; int i,j,k; i=N-1; while(a[i]==0)i--; n=i; i=N-1; while(b[i]==0)i--; m=i; n=n>m?n:m; for(i=0;i<=n;i++) { a[i]+=b[i]; k=i; while(a[k]>9) { a[k+1]++; a[k]%=10; k++; } } } void To_num(int n,int *a) { int i=-1; while(n!=0) { a[++i]=n%10; n/=10; } } void swap(int *a,int *b) { int i=N-1; for(;i>=0;i--) b[i]=a[i]; } int main(void) { int A,B,C; int i; int d[N]; while(scanf("%d%d%d",&A,&B,&C)!=EOF) { To_num(A,a);//把A按位存入数组 To_num(B,b); To_num(C,c); for(i=3;i<=99;i++) { swap(c,d);//d=c; big_add(c,b);//c+=b; big_add(c,a);//c+=a; swap(b,a);//a=b; swap(d,b);//b=d; } //big_add(c,a); i=N-1; while(c[i]==0)i--; for(;i>=0;i--) printf("%d",c[i]); printf("\n"); for(i=0;i<N;i++) { a[i]=b[i]=c[i]=0; } }//while return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator