问题
如果自然数a的各位数字之和等于10,则a称为和谐数。将所有和谐数从小到大排成一列,则2008排在第()个。
解答
#include <iostream>
using namespace std;
//是否和谐数
bool isHxs(int num) {
int sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
return sum==10;
}
int main() {
int count = 0;
for (int i = 0; i <= 2008; i++)
{
if (isHxs(i)) {
count++;
}
}
cout << "2008排在第" << count << "个" << endl;
return 0;
}