题意大意:求满足 A = k*B + d 的最大的 k 值和 d 值,输出 k, d 的值
解题思路:A, B 由 C 进制转化过来的,最大的 K 值只要直接用 A / B,最大 d 值为 A % B
#include <cstdio>
int main() {
int T;
scanf("%d", &T);
while (T--) {
char a[20], b[20];
int A = 0, B = 0, C;
scanf("%s%s%d", a, b, &C);
for (int i = 0; a[i] != '\0'; i++)
A = A * C + a[i] - (a[i] < 'a' ? '0' : 'a' - 10);
for (int i = 0; b[i] != '\0'; i++)
B = B * C + b[i] - (b[i] < 'a' ? '0' : 'a' - 10);
printf("(%d,%d)\n", A / B, A % B);
}
return 0;
}