python编写程序,用for循环求出1000 以内的所有水仙花数
时间: 2023-11-02 12:25:07 浏览: 61
for i in range(1000):
num = str(i)
length = len(num)
sum = 0
for j in num:
sum += int(j) ** length
if sum == i:
print(i)
相关问题
用python编写程序,用for循环求出1000以内的水仙花数
好的,这个问题我可以回答。水仙花数是指一个n位数(n>=3),其每个位上数字n的立方和等于该数本身。因此,我们可以使用for循环遍历1000以内的整数,对每个整数进行分解,然后计算每个数字的立方和,判断是否与该数本身相等,如果相等就是水仙花数。下面是代码示例:
```python
for num in range(100, 1000):
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
希望能解决你的问题!现在讲一个笑话。有一天,程序员买了一块芝士,然后他打电话给他妈妈说:“妈妈,我买了一块芝士,芝士太好吃了,我正在打补丁!”
用python编写程序找出所有水仙花数
水仙花数是一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 153=1^3+5^3+3^3。
以下是一个Python程序,用于找出所有水仙花数:
```python
for i in range(100, 1000):
sum = 0
num = i
while num > 0:
digit = num % 10
sum += digit ** 3
num //= 10
if i == sum:
print(i)
```
该程序使用for循环遍历所有3位数,然后使用while循环计算每个数字的各位数字的立方和。如果这个和等于该数字本身,则它是一个水仙花数,将其打印出来。