#include #include #include char sprvni[1002],sdruhe[1002],ven[1002],pom[1002]; int c[1002],a[1002],b[1002]; int max,i,iprvni,idruhe,zakl,souc,ia,ib; int main(void) { scanf("%d",&zakl); while (zakl !=0){ scanf("%s%s",sprvni,sdruhe); if (zakl==1) { iprvni = (sprvni[0] == '0') ? 0 :strlen(sprvni) ; idruhe = (sdruhe[0] == '0') ? 0 :strlen(sdruhe) ; souc = iprvni+idruhe; if (souc!=0){ strcpy(ven,""); for(i = 0;iib) ? ia:ib; for(i=0;i<=max+1;i++){ a[i]=b[i]=c[i]=0;} for(i=0;sprvni[i]!='\0';i++){ a[ia-i]=isdigit(sprvni[i]) ? sprvni[i]-'0': sprvni[i]- 'A'+10; } for(i=0;sdruhe[i]!='\0';i++){ b[ib-i]=isdigit(sdruhe[i]) ? sdruhe[i]-'0': sdruhe[i]- 'A'+10; } for(i=0;i<=max;i++){ c[i+1]=(c[i]+a[i]+b[i])/zakl; c[i]=(c[i]+a[i]+b[i])%zakl; } if (c[max+1]!=0) { ven[0] = ((c[max+1] % zakl)<10) ? '0'+c[max+1]%zakl : 'A'+(c[max+1]%zakl-10); ven[1] ='\0'; }else{ strcpy(ven,""); } for (i=max;i>0;i--) { pom[0] = ((c[i] % zakl)<10) ? '0'+c[i]%zakl : 'A'+(c[i]%zakl-10); pom[1] ='\0'; strcat(ven,pom); } } printf("%s + %s = %s\n",sprvni,sdruhe,ven); scanf("%d",&zakl); } return 0; }