python打印输出水仙花数
时间: 2023-12-15 12:32:59 浏览: 98
以下是Python打印输出水仙花数的代码:
```python
sum = 0
for num_sx in range(100, 1000):
gw = num_sx % 10 # 个位
sw = num_sx // 10 % 10 # 十位
bw = num_sx // 100 # 百位
if gw ** 3 + sw ** 3 + bw ** 3 == num_sx:
sum += 1
print("水仙花数有:", num_sx)
print("一共有", sum, "个水仙花数")
```
该代码使用了for循环遍历100到999之间的所有三位数,然后分别计算其个位、十位和百位上的数字的立方和是否等于该数本身,如果是,则输出该数,最后输出水仙花数的总个数。
相关问题
输出水仙花数python
以下是输出水仙花数的Python代码:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
该代码使用了一个for循环来遍历100到999之间的所有数字。对于每个数字,它将其分解为各个位上的数字,并计算每个数字的立方和。如果该数字等于其立方和,则它是一个水仙花数,将其打印出来。
输出水仙花数 水仙花数
水仙花数,也被称为自恋数或阿姆斯特朗数,是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,3位数153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是输出水仙花数的一种常见方法:
```python
def find_narcissistic_numbers(n):
result = []
for num in range(10**(n-1), 10**n):
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if sum == num:
result.append(num)
return result
n = int(input("请输入位数:"))
narcissistic_numbers = find_narcissistic_numbers(n)
print(f"{n}位水仙花数为:{narcissistic_numbers}")
```
这段代码中,我们定义了一个函数`find_narcissistic_numbers`来查找指定位数的水仙花数。通过遍历从10^(n-1)到10^n之间的所有数字,计算每个数字的各个位上的数字的n次幂之和,如果等于该数字本身,则将其添加到结果列表中。最后,我们将结果打印出来。
阅读全文