C++【jzoj】美丽数 题目描述 如果一个整数由同一个数字组成,则称它是美丽的,如:3、55、555、22和888888。这些数不美丽:35,77770,4545和123456。请找出从1到n(包括1和n)中,有多少数是美丽的。
时间: 2024-04-10 17:27:46 浏览: 94
要找出从1到n中美丽的数的数量,我们可以使用循环迭代每个数字,并检查它是否由相同的数字组成。以下是一个C++的示例代码:
```cpp
#include <iostream>
#include <string>
bool isBeautiful(int num) {
std::string strNum = std::to_string(num);
char firstDigit = strNum[0];
for (char digit : strNum) {
if (digit != firstDigit) {
return false;
}
}
return true;
}
int countBeautifulNumbers(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (isBeautiful(i)) {
count++;
}
}
return count;
}
int main() {
int n;
std::cout << "请输入n的值:";
std::cin >> n;
int beautifulCount = countBeautifulNumbers(n);
std::cout << "从1到" << n << "中美丽的数的数量为:" << beautifulCount << std::endl;
return 0;
}
```
你可以将上述代码保存为一个.cpp文件,然后使用C++编译器进行编译和运行。在运行时,程序将要求你输入n的值,并输出美丽的数的数量。希望能帮到你!
阅读全文