#include #include #include #include void add(char*s1,char*s2,char*s) { int i,j,k; char c1,c2; int r=0; k=0; i=strlen(s1)-1; j=strlen(s2)-1; while (i>=0 || j>=0) { c1=(i>=0) ? s1[i]-'0' : 0; c2=(j>=0) ? s2[j]-'0' : 0; s[k]=(c1+c2+r)%10+'0'; r=(c1+c2+r)/10; k++; i--; j--; } if (r>0) { s[k]=r+'0'; k++; } i=k-1; while (s[i]=='0') { k--; i--; if (k==0) break; } if (k==0) { s[0]='0'; k=1; } s[k]=0; for (i=0; i=0 || j>=0) { c1=(i>=0) ? s1[i]-'0' : 0; c2=(j>=0) ? s2[j]-'0' : 0; int klop=0; if (c10) { s[k]=r+'0'; k++; } i=k-1; while (s[i]=='0') { k--; i--; if (k==0) break; } if (k==0) { s[0]='0'; k=1; } s[k]=0; for (i=0; i=0) { c1=(i>=0) ? s1[i]-'0' : 0; // printf("%i %i\n",c1,c2); s[k]=(c1*c2+r)%10+'0'; r=(c1*c2+r)/10; k++; i--; } if (r>0) { s[k]=r+'0'; k++; } i=k-1; while (s[i]=='0') { k--; i--; if (k==0) break; } if (k==0) { s[0]='0'; k=1; } s[k]=0; for (i=0; i=0) { mul1(s1,s2[i]-'0',buf); int sizee=strlen(buf); if (k>0) for (j=0;jstrlen(b)+1) ? strlen(a) : strlen(b)+1; for (w=0;wstrlen(b)+1) ? strlen(a) : strlen(b)+1; int size1=size; if (size1) { for (j=strlen(b)-1;j>=0;j--) { mul1(a,b[j]-'0',d); for (w=0;w