水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:13 + 53+ 33 = 153,那么153就是水仙花数。分别用for循环和循环嵌套实现三位数中水仙花数的寻找。
时间: 2024-05-14 18:14:04 浏览: 93
使用for循环的实现方法:
```python
for i in range(100, 1000):
# 分解出每个位上的数字
a = i // 100
b = i // 10 % 10
c = i % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
```
使用循环嵌套的实现方法:
```python
for i in range(1, 10):
for j in range(0, 10):
for k in range(0, 10):
# 计算当前的数值
num = i * 100 + j * 10 + k
# 判断是否为水仙花数
if i**3 + j**3 + k**3 == num:
print(num)
```
两种方法的输出结果都是:
```
153
370
371
407
```
相关问题
c语言回答n位水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如: 三位水仙花数是指一个三位数,它的每个位上的数字的3次幂之和等于它本身。(例如:13 + 53 + 33= 153)。 四位水仙花数是指一个四位
```c
#include <stdio.h>
#include <math.h>
int main() {
int n, i, j, k, sum;
printf("请输入位数n:");
scanf("%d", &n);
printf("%d位水仙花数有:\n", n);
for (i = pow(10, n - 1); i < pow(10, n); i++) {
sum = 0;
for (j = i; j > 0; j /= 10) {
k = j % 10;
sum += pow(k, n);
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}
```
编程求出所有水仙花数:水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身
水仙花数是一个特殊的整数现象,它由三位数组成,且其各位数字立方和等于该数自身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。为了编写程序找出所有的水仙花数,你可以遍历从100到999之间的每一个数,然后对每个数的百位、十位和个位分别取立方并相加,如果结果等于原数,则该数就是水仙花数。
以下是使用Python编写的一个简单示例:
```python
def find_water_lilies(n):
for num in range(100, 1000): # 遍历三位数范围
first_digit = num // 100 # 百位
second_digit = (num % 100) // 10 # 十位
third_digit = num % 10 # 个位
if first_digit ** 3 + second_digit ** 3 + third_digit ** 3 == num: # 检查是否满足条件
print(num)
# 执行函数查找水仙花数
find_water_lilies()
```
运行这个程序,你会得到所有的水仙花数。
阅读全文