如果一个3位数等于其各位数字的立方和,则称 这个数为水仙花数。用c++编写一个程序,找出全部的水 仙花数。例如407=43+03+73
时间: 2024-11-12 16:45:48 浏览: 12
c代码-打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
在C++中,可以编写一个简单的循环程序来找出所有的水仙花数。这里是一个示例代码:
```cpp
#include <iostream>
using namespace std;
bool isWaterLily(int num) {
int digits[3];
int sum = 0;
// 分割三位数
while (num > 0) {
digits[2] = num % 10; // 取个位
num /= 10;
sum += digits[2] * digits[2] * digits[2]; // 立方和并累加
}
// 检查是否相等
return sum == num;
}
int main() {
int start = 100; // 开始检查从100开始的三位数
for (int i = start; i <= 999; ++i) {
if (isWaterLily(i)) {
cout << i << " 是一个水仙花数" << endl;
}
}
return 0;
}
```
阅读全文