输出两个整数m和n之间所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如:153是水仙花,因为。 输入:输入两个整数m和n。 输出:输出一行整数(水仙花数),整数之间用空格分隔。
时间: 2024-12-08 22:16:03 浏览: 15
要输出给定范围内的所有水仙花数,我们可以编写一个简单的程序来检查每个三位数是否满足条件。这里有一个C++代码片段来完成这个任务:
```cpp
#include <iostream>
int is_aquilean(int num) {
int digits[3];
int sum = 0;
// 获取百位、十位和个位数字
while (num > 0) {
digits[2] = num % 10;
sum += digits[2] * digits[2] * digits[2]; // 立方和
num /= 10;
}
return sum == num; // 如果立方和等于原数,则为水仙花数
}
void print_aquileans(int m, int n) {
for (int i = m; i <= n; ++i) {
if (is_aquilean(i)) {
std::cout << i << " ";
}
}
std::cout << "\n"; // 结束行并添加换行符
}
int main() {
int m, n;
std::cout << "请输入起始整数m: ";
std::cin >> m;
std::cout << "请输入结束整数n: ";
std::cin >> n;
print_aquileans(m, n);
return 0;
}
```
在这个代码中,`is_aquilean` 函数用于检查一个数是否是水仙花数,而 `print_aquileans` 函数则遍历指定范围内的整数并打印符合条件的水仙花数。
阅读全文