编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
def narcissistic_number(): for i in range(100, 1000): a = i // 100 b = (i // 10) % 10 c = i % 10 if a3 + b3 + c**3 == i: print(i)
narcissistic_number()
用Python编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
当然可以,我们可以创建一个名为find_water_lilies()
的函数,遍历100到999的所有整数,检查它们是否满足水仙花数的条件。下面是相应的Python代码:
```python def is_perfect_number(num): # 对于3位数,百位、十位和个位分别是num // 100, num // 10 % 10, 和 num % 10 digits = [int(digit) for digit in str(num)] return sum(map(lambda x: x ** 3, digits)) == num
def find_water_lilies(): water_lilies = [] for num in range(100, 1000): if is_perfect_number(num): water_lilies.append(num) return water_lilies
water_lily_numbers = find_water_lilies() print("100至999之间的水仙花数有:") for number in water_lily_numbers: print(number)
用python编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
def narcissistic_number(): res = [] for i in range(100, 1000): num = str(i) sum = 0 for j in num: sum += int(j) ** 3 if sum == i: res.append(i) return res
print(narcissistic_number())
相关推荐












