範例程式碼 uva389

//uva389
#include <stdio.h>
#include <string.h>
int main() {
    char number[50];
    int n, m;
    while(scanf("%s %d %d", number, &n, &m) == 3) {
        int i, len = strlen(number);
        long long dec = 0, j = 1;
        for(i = len-1; i >= 0; i--) {
            if(number[i] <= '9')
                dec += (number[i]-'0')*j;
            else
                dec += (number[i]-'A'+10)*j;
            j *= n;
        }
        int ans[60] = {}, idx = -1;
        while(dec > 0)
            ans[++idx] = dec%m, dec /= m;
        if(idx >= 7) {
            //puts("  ERROR");
            for(i = 6;i>=0;i--)
            	printf("%c", ans[i] < 10 ? ans[i]+'0' : ans[i]+'A'-10);
			puts("");
            continue;
        }
        if(idx < 0) idx = 0;
        for(i = 6; i > idx; i--)
            printf("0");
        for(i = idx; i >= 0; i--)
            printf("%c", ans[i] < 10 ? ans[i]+'0' : ans[i]+'A'-10);
        puts("");
    }
    return 0;
}