Run ID:74005

提交时间:2024-05-20 22:13:32

#include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> using namespace std; char mnum[1002]; int tDiv[1002]; int ds, de; int nnum[1002]; int nCnt; int m,n; int getV(char a) { if(a >= '0' && a <= '9') { return a - '0'; } else if(a >= 'A' && a <= 'Z') { return a - 'A' + 10; } else if(a >= 'a' && a <= 'z') { return a - 'a' + 10; } } char putV(int a) { if(a >= 0 && a <= 9) { return a + '0'; } else { return a - 10 + 'a'; } } int div() { int j = 0; int ci = 0; for(int i = 0; i < de; i++) { int ben = ci*m + tDiv[i]; tDiv[j++] = ben/n; ci = ben%n; } int i = 0; while(tDiv[i] == 0) { i++; } ds = i; return ci; } int main(int argc, char const *argv[]) { while(scanf("%d %d",&m,&n) != EOF) { scanf("%s",mnum); int lenm = strlen(mnum); for(int i = 0; i < lenm; i++) { tDiv[i] = getV(mnum[i]); } ds = 0, de = lenm; tDiv[de] = -1; int j = 0; memset(nnum, 0, sizeof(nnum)); while(ds != de) { nnum[j++] = div(); } for(int i = j-1; i >= 0; i--) { printf("%c",putV(nnum[i])); } return 0; puts(""); } return 0; }