用for循环输出水仙花数
时间: 2023-07-01 10:24:05 浏览: 59
好的,以下是用for循环输出水仙花数的代码:
```python
for num in range(100, 1000):
# 求出每个数字的百位、十位、个位
digit1 = num // 100
digit2 = num % 100 // 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
这段代码会输出所有三位数中的水仙花数,即153、370、371、407。
相关问题
用for循环求水仙花数
水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。要用for循环求水仙花数,可以按照以下步骤进行操作:
1. 使用for循环遍历100到999之间的所有三位数。
2. 在循环中,使用取模和除法运算符将当前数字的百位、十位和个位分别提取出来。
3. 计算当前数字的各位数字的三次幂之和。
4. 使用if语句判断当前数字是否等于各位数字的三次幂之和,如果相等,则输出当前数字为水仙花数。
下面是代码实现:
```
for (int i = 100; i <= 999; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if (i == (ge * ge * ge + shi * shi * shi + bai * bai * bai)) {
System.out.println("水仙花数:" + i);
}
}
```
C语言用for循环反向输出水仙花数
水仙花数指一个三位数,其各位数字立方和等于该数本身。比如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
反向输出水仙花数可以通过倒序遍历三位数来实现,具体实现如下:
```c
#include <stdio.h>
int main() {
int i, j, k;
for (i = 9; i >= 1; i--) {
for (j = 9; j >= 0; j--) {
for (k = 9; k >= 0; k--) {
int n = i * 100 + j * 10 + k;
if (n == i*i*i + j*j*j + k*k*k) {
printf("%d\n", n);
}
}
}
}
return 0;
}
```
上述代码中,循环变量i、j、k分别表示三位数的百位、十位、个位上的数字,从9开始倒序遍历三位数。对于每个遍历到的三位数n,判断其是否为水仙花数,如果是就输出。