#include int desit(char c) { if (c <= '9') return(c - '0'); else return(c - 'A' + 10); } char jina(int cislo) { if (cislo > 9) return('A'+cislo - 10); else return('0'+cislo); return(' '); } int main() { int zaklad,zak1,hodnota,celk,zbytek,x; char cis1[1001]; char cis2[1001]; char vysl[1001]; int i,j; long cisA,cisB; zaklad = 1; while (zaklad > 0) { scanf("%d",&zaklad); if (zaklad == 0) break; scanf("%s %s\n",cis1,cis2); zak1 = 1; celk = 0; for (i = strlen(cis1)-1; i >= 0; i--) { hodnota = desit(cis1[i]); celk += hodnota * zak1; zak1 = zak1 * zaklad; } cisA = celk; /* printf("%ld\n",cisA);*/ zak1 = 1; celk = 0; for (i = strlen(cis2)-1; i >= 0; i--) { hodnota = desit(cis2[i]); celk += hodnota * zak1; zak1 = zak1 * zaklad; } cisB = celk; /* printf("%ld\n",cisB);*/ celk = cisA + cisB; /* printf("%d",celk);*/ if (zaklad > 1) { i = 0; while (celk > 0) { x = celk / zaklad; zbytek = celk % zaklad; celk = x; vysl[i] = jina(zbytek); i++; } printf("%s %s = ",cis1,cis2); for (j = (i-1); j >= 0; j--) { printf("%c",vysl[j]); } printf("\n"); } else { printf("%s %s = ",cis1,cis2); for (i = 0; i < celk; i++) { printf("1"); } printf("\n"); } } /* while*/ return(0); } /* printf("znak: %c\n",cis1[i]); printf("hod: %d\n",hodnota);*/ /* printf("zb: %d\n", zbytek);*/