Python求水仙花数并输出
时间: 2023-07-02 20:05:55 浏览: 106
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为 $1^3+5^3+3^3=153$。
下面是 Python 代码实现:
```python
for i in range(100, 1000):
# 获取百位、十位、个位数字
a = i // 100
b = i // 10 % 10
c = i % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
```
输出结果为:
```
153
370
371
407
```
相关问题
python求水仙花数
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
下面是 Python 代码实现:
```
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
这段代码会输出所有的三位水仙花数。
Python求水仙花数定义函数
在Python中,水仙花数(Narcissistic number)也称为自恋数,是指一个三位数(或更多位数,但这里我们仅关注三位数的情况),其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
要编写一个Python函数来检查一个数是否为水仙花数,你可以定义一个名为`is_narcissistic`的函数,如下所示:
```python
def is_narcissistic(num):
# 将输入数字转换为字符串以便于处理每一位
str_num = str(num)
# 确保数字是三位数
if len(str_num) != 3:
return False
# 计算每一位数字的立方和
digits_cubed_sum = sum(int(digit) ** 3 for digit in str_num)
# 检查立方和是否等于原始数字
return digits_cubed_sum == num
```
你可以使用这个函数来检查任意一个三位数是否为水仙花数,例如:
```python
print(is_narcissistic(153)) # 输出: True
print(is_narcissistic(370)) # 输出: False
```
阅读全文