用for循环完成计算水仙花数
时间: 2023-05-22 09:05:57 浏览: 59
好的,以下是用 for 循环完成计算水仙花数的代码:
```python
for i in range(100, 1000):
# 将数字转为字符串,再按位拆分
a, b, c = map(int, str(i))
# 判断是否为水仙花数并输出
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
```
以上是 Python 代码,可以计算出所有三位数的水仙花数。如果需要计算四位数或更多位数的水仙花数,只需要将 range 函数中的参数改为适当的范围即可。
相关问题
c语言 用for循环完成计算水仙花数
当然可以!以下是 C 语言代码:
#include <stdio.h>
int main() {
int number, originalNumber, remainder, result = 0;
printf("请输入一个三位数: ");
scanf("%d", &number);
originalNumber = number;
// 用 for 循环计算水仙花数并打印结果
for (;originalNumber != 0; originalNumber /= 10) {
remainder = originalNumber % 10;
result += remainder * remainder * remainder;
}
if (result == number)
printf("%d 是一个水仙花数", number);
else
printf("%d 不是一个水仙花数", number);
return 0;
}
用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);
}
}
```