c++极简求输出所有在m和n范围内的水仙花数
时间: 2024-11-15 10:21:44 浏览: 24
在C++中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。比如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。如果你想要编写一个极简的程序来找出所有在给定范围内(m到n)的水仙花数,可以按照以下步骤:
```cpp
#include <iostream>
#include <vector>
// 函数用来检查一个数是否是水仙花数
bool is narcissistic(int num) {
int sum = 0;
int temp = num; // 临时存储数值
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit; // 累加每个位数的立方
temp /= 10;
}
return sum == num;
}
// 主函数遍历并输出指定范围内的水仙花数
void findNarcissisticNumbers(int m, int n) {
for (int i = m; i <= n; ++i) {
if (is_narcissistic(i)) {
std::cout << i << " ";
}
}
}
int main() {
int start, end;
std::cout << "请输入起始和结束值:";
std::cin >> start >> end;
std::cout << "在[" << start << ", " << end << "]范围内的水仙花数有:" << std::endl;
findNarcissisticNumbers(start, end);
return 0;
}
```
当你运行这个程序,并输入起始和结束值,它会输出这两个值之间的所有水仙花数。
阅读全文