题目描述特别的十进制数是指具有如下特征的数:它的各位数字之和等于该数的 16进制表示的各位数字之和并且还等于该数的 12进制表示的各位数字之和。例如2991的各位数字之和为 2+9+9+1=21它的 12进制表示是 1893各位数字之和也是 21 。但是 2991的 16 进制表示是 BAF并且 11+10+15=36所以 2991不具备指定的特征。又如2992 在全部三种表示法中包括 BB016
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int sumOfDigits(string num) {
int sum = 0;
for (char c : num) {
if (isdigit(c)) {
sum += c - '0';
}
}
return sum;
}
int main() {
string decimalNum;
cin >> decimalNum;
// Convert decimal number to hexadecimal
stringstream ss;
ss << hex << stoul(decimalNum);
string hexNum = ss.str();
// Calculate sum of digits for decimal and hexadecimal numbers
int decimalSum = sumOfDigits(decimalNum);
int hexSum = sumOfDigits(hexNum);
cout << hexSum << endl;
if (decimalSum == hexSum) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/iV4Y 著作权归作者所有。请勿转载和采集!