帮忙写一个python水仙花数
时间: 2023-10-12 14:05:09 浏览: 91
以下是一个简单的Python程序,用于找出所有的水仙花数:
```python
for i in range(100, 1000):
# 将数字分解成各位数字
num = str(i)
a = int(num[0])
b = int(num[1])
c = int(num[2])
# 判断是否为水仙花数
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
```
输出结果:
```
153
370
371
407
```
相关问题
写一个python水仙花数
Sure! 以下是Python代码实现水仙花数的解法:
```python
# 定义函数
def narcissistic_number(num):
# 转化为字符串类型
num_str = str(num)
# 获取位数
n = len(num_str)
# 求每一位数字的n次方之和
sum = 0
for i in num_str:
sum += int(i)**n
# 判断是否为水仙花数
if sum == num:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
# 测试
narcissistic_number(153)
narcissistic_number(370)
narcissistic_number(371)
narcissistic_number(407)
```
输出结果:
```
153 是水仙花数
370 是水仙花数
371 是水仙花数
407 是水仙花数
```
用python写一个水仙花数
水仙花数是指一个三位数,它的各位数字的立方和等于它本身,例如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是用Python写一个水仙花数的代码:
```python
for i in range(100, 1000):
sum = 0
temp = i
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if i == sum:
print(i)
```
代码解释:
- 用for循环从100到999遍历所有三位数。
- 定义sum变量记录每个数的各位数字的立方和。
- 用temp变量暂时保存当前的数,以便处理各位数字。
- 使用while循环将temp的每一位数字取出并计算其立方和。
- 如果当前数等于其各位数字的立方和,则打印出来。