#include #include #include int z; int max(int a, int b){return(a=0 && j>=0) { if isdigit(s1[i]) cis1=s1[i]-'0'; else cis1=s1[i]-'A'+10; if isdigit(s2[j]) cis2=s2[j]-'0'; else cis2=s2[j]-'A'+10; vysl=cis1+cis2+carry; pom=vysl%z; carry=vysl/z; if (pom<=9) sv[k]='0'+pom; else sv[k]='A'+pom-10; i--; j--; k--; } while (i>=0) { if isdigit(s1[i]) cis1=s1[i]-'0'; else cis1=s1[i]-'A'+10; vysl=cis1+carry; pom=vysl%z; carry=vysl/z; if (pom<=9) sv[k]='0'+pom; else sv[k]='A'+pom-10; i--; k--; } while (j>=0) { if isdigit(s2[j]) cis2=s2[j]-'0'; else cis2=s2[j]-'A'+10; vysl=cis2+carry; pom=vysl%z; carry=vysl/z; if (pom<=9) sv[k]='0'+pom; else sv[k]='A'+pom-10; j--; k--; } if (carry > 0) { if (carry<=9) sv[k]='0'+carry; else sv[k]='A'+carry-10; } else k++; printf("%s + %s = %s\n", s1, s2, sv+k); } scanf("%d", &z); } return(0); }