【题目分析】 numbers (each between 0 and 168) 最高168 < 13^2 那么: num = a * 13^1 + b * 13^0 -> a、b就是咱们要的! use radix 13 (0-9 and A-C) 将计算好的a、b用 (0-9 and A-C) 代替后输出即可! /* 分析: numbers (each between 0 and 168) 最高168 < 13^2 那么: num = a * 13^1 + b * 13^0 -> a、b就是咱们要的! use radix 13 (0-9 and A-C) 将计算好的a、b用 (0-9 and A-C) 代替后输出即可! */ #include<iostream> #include<string> using namespace std; //定义一个代换数组 string arr[13]; void init() { for (int i = 0; i < 10; i++) { arr[i] = to_string(i); } arr[10] = "A"; arr[11] = "B"; arr[12] = "C"; } void test() { int a = 0,b = 0, c = 0; cin >> a; cout << "#" << arr[a/ 13] << arr[a % 13]; cin >> b; cout << arr[b / 13] << arr[b % 13]; cin >> c; cout << arr[c / 13] << arr[c % 13]; } void test1() { int num = 134; cout << arr[134 / 13]; cout << endl; cout << arr[134 % 13]; } int main() { init(); test(); cout << endl; return 0; }