文章

25

粉丝

0

获赞

10

访问

2.5k

头像
进制转换3 题解:
P1422 清华大学/厦门大学机试题
发布于2026年1月12日 19:59
阅读数 156

#include <stdio.h> #include <string.h> int main() { int M, N; char X[1000]; scanf("%d%d%s", &M, &N, X); if (strcmp(X, "0") == 0) { printf("0\n"); return 0; } long long decimal = 0; for (int i = 0; X[i]; i++) { if (X[i] >= '0' && X[i] <= '9') decimal = decimal * M + (X[i] - '0'); else decimal = decimal * M + (X[i] - 'A' + 10); } char result[1000]; int len = 0; while (decimal > 0) { int r = decimal % N; if (r < 10) result[len++] = '0' + r; else result[len++] = 'A' + (r - 10); // ← 必须大写! decimal /= N; } for (int i = len - 1; i >= 0; i--) putchar(result[i]); puts(""); return 0; } 80%

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发