python计算水仙花数
时间: 2023-10-19 15:16:05 浏览: 94
水仙花数是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如:153 = 1^3 + 5^3 + 3^3。
下面是使用 Python 计算水仙花数的代码示例:
```python
# 获取用户输入的位数
n = int(input("请输入位数:"))
# 计算最大值和最小值
min_num = 10**(n-1)
max_num = 10**n - 1
# 遍历数字范围
for num in range(min_num, max_num+1):
# 计算每个位上的数字的 n 次幂之和
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
# 如果满足水仙花数条件,则输出
if num == sum:
print(num)
```
在程序运行时,会提示用户输入位数,然后程序会计算出 n 位数的最小值和最大值,并在这个范围内遍历每个数字,计算每个位上的数字的 n 次幂之和,如果满足水仙花数条件,则输出该数字。
相关问题
用Python计算水仙花数
好的,以下是Python代码实现:
```python
for i in range(100, 1000):
# 分离出百位、十位、个位的数字
a = i // 100
b = (i - a * 100) // 10
c = i % 10
# 判断是否为水仙花数
if i == a ** 3 + b ** 3 + c ** 3:
print(i)
```
输出结果为:
```
153
370
371
407
```
这些数字都是水仙花数,满足各个数位数字立方和等于该数本身。
用Python计算水仙花数,输出并用逗号和空格隔开。
好的,水仙花数指一个三位数,其各个数位数字立方和等于该数本身,比如153就是一个水仙花数。以下是Python代码实现:
```python
for i in range(100, 1000):
# 分离出百位、十位、个位的数字
a = i // 100
b = (i - a * 100) // 10
c = i % 10
# 判断是否为水仙花数
if i == a ** 3 + b ** 3 + c ** 3:
# 输出并用逗号和空格隔开
print(i, end=", ")
```
输出结果为:
```
153, 370, 371, 407,
```
这些数字都是水仙花数,满足各个数位数字立方和等于该数本身。
阅读全文