编写一个程序,打印出所有的”水仙花数”,所谓” 水仙花数” 是指一个三位数,其各位数字立方和等于该 数本身。例如:153 是一个” 水仙花数”,因为153=1 的三次方+5 的三次方+3 的三次 方。
时间: 2024-03-26 09:40:54 浏览: 24
好的,这是一个简单的 Python 程序,可以打印出所有的水仙花数:
```python
for num in range(100, 1000):
# 计算百位、十位、个位数字
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
程序中使用 `range(100, 1000)` 生成三位数,然后逐个判断是否为水仙花数,如果是,则打印出来。
相关问题
题目要求编写一个程序,输出所有水仙花数。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。用程序编写
可以使用循环遍历所有三位数,对每个数进行立方和计算,判断是否等于该数本身。
以下是 Python 代码实现:
```python
for i in range(100, 1000):
# 拆分百位、十位、个位数字
a = i // 100
b = (i // 10) % 10
c = i % 10
# 计算立方和
sum = a**3 + b**3 + c**3
# 判断是否等于该数本身
if sum == i:
print(i)
```
程序输出的结果是:
```
153
370
371
407
```
因此,所有的水仙花数是 153、370、371、407。
用c语言编写程序编写程序,打印出所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方之和正好等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。
以下是用C语言编写打印所有“水仙花数”的程序:
```c
#include <stdio.h>
int main()
{
int i, j, k, n;
for (n = 100; n <= 999; n++) {
i = n / 100; // 百位
j = n / 10 % 10; // 十位
k = n % 10; // 个位
if (n == i*i*i + j*j*j + k*k*k) {
printf("%d\n", n);
}
}
return 0;
}
```
程序中使用了一个 for 循环,遍历了所有的三位数。在循环中,我们将这个三位数分解成百位、十位和个位三个数字,然后根据“水仙花数”的定义判断这个数是否是“水仙花数”,如果是,就将其打印出来。
阅读全文