赞
踩
玫瑰花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个三位数,它的每个位上的数字的三次幂之和等于153,因此它是一个玫瑰花数。
下面是Python代码实现玫瑰花数的函数:
- def is_armstrong_number(n):
- # 将n转换为字符串,计算n的位数
- num_digits = len(str(n))
- # 计算n的每个位上的数字的n次幂之和
- sum_of_digits = sum(int(digit)**num_digits for digit in str(n))
- # 判断是否等于n
- return sum_of_digits == n
- ```
-
- 使用示例:
-
- ```python
- # 判断153是否是玫瑰花数
- print(is_armstrong_number(153)) # True
-
- # 判断9474是否是玫瑰花数
- print(is_armstrong_number(9474)) # True
-
- # 判断1634是否是玫瑰花数
- print(is_armstrong_number(1634)) # True
-
- # 判断8208是否是玫瑰花数
- print(is_armstrong_number(8208)) # True
-
- # 判断9475是否是玫瑰花数
- print(is_armstrong_number(9475)) # False
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。