Python编程并寻找输出n位的水仙花数(n介于3到5之间的正整数))
时间: 2024-05-31 09:08:52 浏览: 20
可以的,下面是输出n位水仙花数的Python代码:
n = int(input("请输入n的值(3到5之间):"))
for i in range(10**(n-1), 10**n):
sum = 0
temp = i
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if i == sum:
print(i, end=' ')
这个代码可以输出3到5位的水仙花数。希望对你有帮助。
相关问题
python编程判别三位数正整数n是否是水仙花数。
水仙花数是指一个三位数各个位上数字的立方和等于该数本身,例如153就是一个水仙花数,因为1^3+5^3+3^3=153。
以下是判断三位数n是否是水仙花数的Python程序:
```python
n = int(input("请输入一个三位数:"))
a = n // 100 # 取百位数
b = n // 10 % 10 # 取十位数
c = n % 10 # 取个位数
if a**3 + b**3 + c**3 == n:
print(n, "是水仙花数")
else:
print(n, "不是水仙花数")
```
程序中首先获取用户输入的三位数,然后分别取出该数的百位数、十位数和个位数。接着判断这三个数的立方和是否等于该数本身,如果是则输出“是水仙花数”,否则输出“不是水仙花数”。
Python中用大于1的正整数n为参数的函数输出所有水仙花数
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个Python函数,可以输出所有n位的水仙花数:
```python
def narcissistic_number(n):
for i in range(10**(n-1), 10**n):
num = i
sum = 0
while num > 0:
digit = num % 10
sum += digit ** n
num //= 10
if i == sum:
print(i)
```
使用示例:
```python
narcissistic_number(3) # 输出所有3位的水仙花数
```
输出结果:
```
153
370
371
407
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)