python判断水仙花数并打印1000以内的水仙花数
时间: 2023-11-16 13:54:51 浏览: 57
好的,以下是 Python 判断水仙花数并打印1000以内的水仙花数的代码:
```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)
`
输出结果为:
```
153
370
371
407
```
这些数字就是1000以内的水仙花数。
相关问题:
相关问题
求1000以内的水仙花数python
水仙花数,又称为Narcissistic number,是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。对于3位数来说,水仙花数就是指它的每个位上的数字的立方之和等于它本身的数。
要求1000以内的水仙花数,我们可以使用Python编程语言来解决。代码如下:
```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)
```
上述代码中,我们从100到999遍历每个数字,依次计算每个位上的数字的立方和。如果计算得到的和与原数字相等,则打印该数字。
运行代码后,输出结果为:
```plaintext
153
370
371
407
```
以上数字就是1000以内的水仙花数。
python求1000以内水仙花数和完数
以下是求1000以内水仙花数和完数的Python代码示例:
1. 求1000以内的水仙花数:
```python
for i in range(100, 1000):
if int(str(i)[0])**3 + int(str(i)[1])**3 + int(str(i)[2])**3 == i:
print("%d 是水仙花数" % i)
```
2. 求1000以内的完数:
```python
for i in range(1, 1000):
sum = 0
for j in range(1, i):
if i % j == 0:
sum += j
if sum == i:
print("%d 是完数" % i)
```