水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。编写自定义函数,判断一个数是否是水仙花数。 解析:编写一个函数,将参数n分别分离出个、十、百位上的数字ind、ten、hum,然后依据条件判断其是否为水仙花数,并输出水仙花数。在100~999范围对所有整数进行测试。(40分) 题目内容: 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。编写自定义函数,判断一个数是否是水仙花数。 输入格式: 输出格式: 一行输出一个数,多行输出 输入样例: 输出样例: 153 370 371 407
时间: 2023-06-24 16:04:00 浏览: 98
以下是 Python 的代码实现:
```python
def isNarcissisticNumber(n):
ind = n % 10 # 获取个位数
ten = n // 10 % 10 # 获取十位数
hum = n // 100 # 获取百位数
if n == ind ** 3 + ten ** 3 + hum ** 3:
return True
else:
return False
for i in range(100, 1000):
if isNarcissisticNumber(i):
print(i)
```
输出结果为:
```
153
370
371
407
```
相关问题
编写一个打印所有水仙花数的程序,所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
下面是一个 Python 程序,用于打印出所有的水仙花数:
```python
for i in range(100, 1000):
# 将数字转换为字符串并计算每个数字的3次幂之和
sum_of_cubes = sum(int(digit) ** 3 for digit in str(i))
if i == sum_of_cubes:
print(i)
```
在这个程序中,我们使用 `range(100, 1000)` 生成所有的3位数。对于每个数字,我们将其转换为字符串并计算每个数字的3次幂之和。如果该和等于原始数字,则打印该数字。输出结果为:
```
153
370
371
407
```
python 求所有水仙花数。水仙花数是指一个 3位数,它的每个位上的数字的3次幂之和等于它本身。
以下是Python代码实现打印100到999之间的所有水仙花数:
```python
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
print(i)
```
运行结果为:
```
153
370
371
407
```