c++美丽数 题目描述 如果一个整数由同一个数字组成,则称它是美丽的,如:3、55、555、22和888888。这些数不美丽:35,77770,4545和123456。请找出从1到n(包括1和n)中,有多少数是美丽的。
时间: 2024-04-08 18:33:41 浏览: 78
这个问题可以通过编写一个程序来解决。以下是使用C++编写的一个解决方案:
```cpp
#include <iostream>
using namespace std;
bool isBeautifulNumber(int num) {
int digit = num % 10; // 获取个位数
while (num > 0) {
if (num % 10 != digit) {
return false; // 如果有任意一个数字不等于个位数,则不是美丽数
}
num /= 10; // 去掉最后一位数字
}
return true;
}
int countBeautifulNumbers(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (isBeautifulNumber(i)) {
count++;
}
}
return count;
}
int main() {
int n;
cout << "请输入一个整数n:";
cin >> n;
int beautifulCount = countBeautifulNumbers(n);
cout << "从1到" << n << "中美丽数的个数为:" << beautifulCount << endl;
return 0;
}
```
你可以运行这个程序并输入一个整数n,它将输出从1到n中美丽数的个数。
阅读全文