#include
#include
#include // 用于std::reverse
// 函数用于将整数转换为指定基数的字符串表示
std::string intToBaseString(int num, int base) {
std::string buffer;
int isNegative = 0;
// 处理负数
if (num < 0) {
isNegative = 1;
num = -num;
}
// 转换为字符串
do {
int digit = num % base;
if (digit < 10) {
buffer += '0' + digit; // 0-9
} else if (digit < 36) {
buffer += 'A' + digit - 10; // A-Z
} else {
buffer += 'a' + digit - 36; // a-z
}
num /= base;
} while (num > 0);
// 如果是负数,添加负号
if (isNegative) {
buffer += '-';
}
// 反转字符串
std::reverse(buffer.begin(), buffer.end());
return buffer;
}
int main() {
int n, m, o;
std::string r, s, t; // 使用C++的string类型
// 生成36进制加法口诀表
for (n = 0; n < 36; n++) {
for (m = 0; m < 36; m++) {
o = n + m;
// 调用函数将整数转换为基数为36的字符串
r = intToBaseString(n, 36);
s = intToBaseString(m, 36);
t = intToBaseString(o, 36);
// 输出结果
std::cout << r << "+" << s << "=" << t << std::endl;
}
std::cout << std::endl; // 每完成一行后换行
}
return 0;
}