编程.创建一个函数,接受一个参数n(n>=100),判断这个数是否是水仙花数。结 果返回True 或False 如果一个三位整数等于它的各位数的立方和,则此数称为“水仙花数”,如 153=13+53+33。
时间: 2024-03-06 12:48:10 浏览: 153
好的,以下是符合您要求的 Python 代码:
```python
def is_narcissistic_number(n):
if n < 100:
return False
# 求出n的百位、十位和个位数字
a = n // 100
b = (n - a * 100) // 10
c = n % 10
if n == a ** 3 + b ** 3 + c ** 3:
return True
else:
return False
```
这个函数接受一个参数 `n`,如果 `n` 是三位数且是水仙花数,则返回 `True`,否则返回 `False`。您可以在调用函数时将需要检查的数传递给它,例如:
```python
print(is_narcissistic_number(153)) # True
print(is_narcissistic_number(370)) # True
print(is_narcissistic_number(371)) # True
print(is_narcissistic_number(407)) # True
print(is_narcissistic_number(123)) # False
print(is_narcissistic_number(947)) # False
```
相关问题
编程,创建一个函数,接受一个参数max (max>=1000),调用上题编写的函数,求100到max 之间的水仙花数。
好的,以下是 Python 语言的代码实现:
```python
# 定义水仙花数判断函数
def is_narcissistic(num):
digits = str(num)
n = len(digits)
sum = 0
for digit in digits:
sum += int(digit) ** n
return sum == num
# 定义求100到max之间的水仙花数的函数
def find_narcissistic(max):
res = []
for i in range(100, max+1):
if is_narcissistic(i):
res.append(i)
return res
# 测试函数
print(find_narcissistic(1000))
```
其中,`is_narcissistic` 函数用于判断一个数是否为水仙花数,`find_narcissistic` 函数则用于求出100到max之间的所有水仙花数,并将其存入一个列表中返回。最后,我们调用 `find_narcissistic` 函数并传入参数1000,即可得到100到1000之间的所有水仙花数。
阅读全文