python输出n位水仙花
时间: 2024-01-18 21:44:59 浏览: 29
水仙花数是指一个 n 位数( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如: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
res = 0
while num > 0:
digit = num % 10
res += digit ** n
num //= 10
if res == i:
print(i)
# 输出3位水仙花数
narcissistic_number(3)
```
输出结果:
```
153
370
371
407
```
相关问题
Python输出水仙花书
水仙花数是指一个n位正整数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个三位水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是Python输出水仙花数的代码:
```
for i in range(100, 1000):
s = str(i)
if int(s)**3 + int(s)**3 + int(s)**3 == i:
print(i)
```
该代码使用for循环遍历从100到999的所有三位数,将每个数字转换为字符串,然后计算每个数字的每个位上数字的三次方之和。如果该和等于该数字本身,则说明该数字是水仙花数,将其输出。
Python输出最大水仙花数
水仙花数是指一个 $n$ 位数($n \geq 3$),它的每个位上的数字的 $n$ 次幂之和等于它本身。例如 $153$ 就是水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
以下是 Python 代码输出 $1000$ 以内的最大水仙花数:
```python
for num in range(1000):
temp = num
digits = len(str(num))
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** digits
temp //= 10
if num == sum:
max_num = num
print("最大的水仙花数是:", max_num)
```
输出结果为:
```
最大的水仙花数是: 407
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)