P1017进制转化
也不知道为啥,这么简单的题困扰了我这么长时间
#include<cstdio>
using namespace std;
int m;
//被除数= 除数*商 + 余数 = 除数 *(商 + 1) + (余数 - 除数);
void cal(int n) {
if (n == 0) return;
int p = n % m;
n /= m;
if (p < 0) p -= m, n++;
cal(n);
if (p <= 9) printf("%d", p);
else printf("%c", p - 10 + 'A');
}
int main() {
int n;
scanf("%d%d", &n, &m);
printf("%d=", n);
cal(n);
printf("(base%d)\n", m);
return 0;
}
#include
using namespace std;
int m;
//被除数= 除数*商 + 余数 = 除数 *(商 + 1) + (余数 - 除数);
void cal(int n) {
if (n == 0) return;
int p = n % m;
n /= m;
if (p < 0) p -= m, n++;
cal(n);
if (p <= 9) printf("%d", p);
else printf("%c", p - 10 + ‘A’);
}
int main() {
int n;
scanf("%d%d", &n, &m);
printf("%d=", n);
cal(n);
printf("(base%d)\n", m);
return 0;
}