0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-09-20 02:45:24 +00:00

P1143 进制转换

R38915106
This commit is contained in:
Baoshuo Ren 2020-09-26 21:08:15 +08:00 committed by Baoshuo Ren
parent 107a13d7bd
commit 950a110448
Signed by: baoshuo
GPG Key ID: 70F90A673FB1AB68

77
problem/P1143/P1143.cpp Normal file
View File

@ -0,0 +1,77 @@
// R38915106
#include <bits/stdc++.h>
using namespace std;
int ctoi(char c) {
int r;
switch (c) {
case 'A':
r = 10;
break;
case 'B':
r = 11;
break;
case 'C':
r = 12;
break;
case 'D':
r = 13;
break;
case 'E':
r = 14;
break;
case 'F':
r = 15;
break;
default:
r = c - '0';
break;
}
return r;
}
char itoc(int x) {
char r;
switch (x) {
case 10:
r = 'A';
break;
case 11:
r = 'B';
break;
case 12:
r = 'C';
break;
case 13:
r = 'D';
break;
case 14:
r = 'E';
break;
case 15:
r = 'F';
break;
default:
r = x + '0';
break;
}
return r;
}
int main() {
long long i, n = 0, p1, p2, x = 1;
string s, res = "";
cin >> p1 >> s >> p2;
for (i = s.size() - 1; i >= 0; i--) {
n += ctoi(s[i]) * x;
x *= p1;
}
while (n != 0) {
res = itoc(n % p2) + res;
n /= p2;
}
cout << res << endl;
return 0;
}