显示水仙花数(即一个三位正整数,各位数字的立方和等于该数字本身,例如:153=1*1*1+5*5*5+3*3*3) 代码语言
时间: 2023-10-21 10:01:43 浏览: 70
:Python
好的,这是一个Python代码实现显示水仙花数的例子:
```python
for i in range(100, 1000):
num = str(i)
sum = 0
for digit in num:
sum += int(digit) ** 3
if sum == i:
print(i)
```
希望对您有所帮助!
相关问题
结合Python选择结构和循环结构,输出水仙花数(即一个三位正整数,各位数字的立方和等于该数字本身,例如:153=1*1*1+5*5*5+3*3*3)。
好的,下面是Python代码:
```python
for i in range(100, 1000):
num = i
sum = 0
while num > 0:
digit = num % 10
sum += digit ** 3
num //= 10
if sum == i:
print(i)
```
以上是可以输出所有的三位水仙花数的代码。
c++本关任务:编程求出所有的水仙花数。所谓水仙花数,是指一个三位正整数,其各位数字的立方和等于该整数本身。 例如:153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3,所以153是水仙数。
C++编程可以采用循环遍历的方式来找出所有的水仙花数。下面是一个简单的示例代码,它会从最小的三位数900到最大的九位数999进行检查:
```cpp
#include <iostream>
#include <cmath>
bool is narcissistic(int num) {
int digits[3]; // 存储每一位数字
int sum = 0;
// 将三位数分解成三个单独的数字
while (num > 0) {
digits[2] = num % 10;
sum += std::pow(digits[2], 3);
num /= 10;
}
// 检查是否所有数字的立方和等于原数
return sum == num;
}
int main() {
for (int i = 100; i <= 999; ++i) {
if (is_narcissistic(i)) {
std::cout << i << " 是水仙花数\n";
}
}
return 0;
}
```
这个程序首先定义了一个函数`is_narcissistic`,用于检查输入的数字是否是水仙花数。然后在`main`函数里,我们遍历从100到999的所有整数,如果某个数满足条件,则打印出来。
阅读全文