You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#include <iostream>
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <cmath>
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
int get_num(char c) {
|
|
|
|
|
if (isdigit(c)) {
|
|
|
|
|
return c - '0';
|
|
|
|
|
}
|
|
|
|
|
if ('a' <= c && c <= 'z') {
|
|
|
|
|
return c - 'a' + 10;
|
|
|
|
|
}
|
|
|
|
|
if ('A' <= c && c <= 'Z') {
|
|
|
|
|
return c - 'A' + 10;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
char get_char(int num) {
|
|
|
|
|
return '0';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
int to_num(string& number, int base) {
|
|
|
|
|
int n = number.size();
|
|
|
|
|
long long num = 0;
|
|
|
|
|
for (int i = 0; i < n; i++) {
|
|
|
|
|
char ch = number[i];
|
|
|
|
|
num *= base;
|
|
|
|
|
num += get_num(ch);
|
|
|
|
|
}
|
|
|
|
|
return num;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ݽ<EFBFBD><DDBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
string tostring(int num, int base) {
|
|
|
|
|
if (num == 0) return "0";
|
|
|
|
|
|
|
|
|
|
string ans;
|
|
|
|
|
while (num > 0) {
|
|
|
|
|
ans += get_char(num % base);
|
|
|
|
|
num /= base;
|
|
|
|
|
}
|
|
|
|
|
reverse(ans.begin(), ans.end());
|
|
|
|
|
return ans;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string convertBase(string& num, int st_base, int en_base) {
|
|
|
|
|
return tostring(to_num(num, st_base), en_base);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
string number;
|
|
|
|
|
int st_base, en_base;
|
|
|
|
|
|
|
|
|
|
cout << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>";
|
|
|
|
|
cin >> number;
|
|
|
|
|
cout << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>2-16<31><36><EFBFBD><EFBFBD>";
|
|
|
|
|
cin >> st_base;
|
|
|
|
|
cout << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>2-16<31><36><EFBFBD><EFBFBD>";
|
|
|
|
|
cin >> en_base;
|
|
|
|
|
|
|
|
|
|
string ans = convertBase(number, st_base, en_base);
|
|
|
|
|
cout << "ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>" << ans << endl;
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|