用for循环嵌套反向写水仙花数
时间: 2023-10-19 10:14:25 浏览: 36
水仙花数指的是一个n位数(n≥3),它的每个位上的数字的n次方之和等于它本身。例如:153 = 1^3 + 5^3 + 3^3。
反向写水仙花数即将水仙花数反转后再判断是否为水仙花数。下面是用for循环嵌套反向写水仙花数的代码:
```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:
reverse_num = 0
temp_num = i
while temp_num > 0:
reverse_num = reverse_num * 10 + temp_num % 10
temp_num //= 10
if reverse_num == i:
print(i)
```
输出结果为:
```
153
370
371
407
```
相关问题
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,判断其是否为水仙花数,如果是就输出。
C++For循环反向遍历
要在 C 语言中使用 for 循环反向遍历一个数组,可以按照以下的方式实现:
```
for (int i = array_length - 1; i >= 0; i--) {
// 在这里执行你需要的操作,比如打印数组元素
printf("%d ", array[i]);
}
```
其中,`array_length` 表示数组长度,`i` 是循环的计数器,从数组末尾开始递减直到 0。在循环中,可以通过 `array[i]` 访问数组元素,并执行需要的操作。