本关任务:编写一个程序,显示所有的水仙花数水仙花数是一个三位数,其百位、十位、个位的数字的立方之和为其数本身。例如 153的各数立方之和为1+125+27=153
时间: 2023-03-24 18:02:50 浏览: 145
以下是程序代码:
#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 ;
}
运行结果:
153
370
371
407
以上是所有的水仙花数。
相关问题
本关任务:编写一个程序,显示所有的水仙花数 水仙花数是一个三位数,其百位、十位、个位的数字的立方之和为其数本身。 例如 153的各数立方之和为1+125+27=153
好的,水仙花数是指一个三位正整数,其各位数字的三次方之和等于该数本身的例子。下面是一个简单的Python程序,用于找出并打印出所有水仙花数:
```python
def find_water_lilies(start, end):
for num in range(start, end + 1):
# 分解数字为百位、十位和个位
hundreds = num // 100
tens = (num % 100) // 10
ones = num % 10
# 计算每一位的立方和
sum_of_cubes = hundreds ** 3 + tens ** 3 + ones ** 3
# 如果和等于原数,那么它就是一个水仙花数
if sum_of_cubes == num:
print(num)
# 范围从100到999,因为是三位数
find_water_lilies(100, 999)
```
当你运行这个程序,它会输出所有三位的水仙花数。
编写一个程序,显示所有的水仙花数 水仙花数是一个三位数,其百位、十位、个位的数字的立方之和为其数本身
要编写一个Python程序来找出所有的水仙花数,你可以采用以下步骤:
```python
def find_water_lily_numbers(start, end):
water_lilies = []
for num in range(start, end+1): # 从100到999范围内的数
digits = [int(digit) for digit in str(num)] # 将数字转换为列表并提取每个位数
if len(digits) != 3: # 确保是三位数
continue
sum_of_cubes = sum([digit**3 for digit in digits]) # 计算每一位的立方和
if sum_of_cubes == num: # 判断是否满足条件
water_lilies.append(num)
return water_lilies
# 范围设置为最小的水仙花数(100)到最大的三位数(999)
water_lily_numbers = find_water_lily_numbers(100, 999)
print(f"水仙花数有:{water_lily_numbers}")
```
运行这个程序,它会找到并打印出所有的水仙花数,例如153, 370, 371, 407 等。
阅读全文