用python编写水仙花数
时间: 2023-03-02 07:18:12 浏览: 32
以下是在 Python 中编写水仙花数的代码示例:
```
for num in range(100, 1000):
# 分离每一位数字
digit_1 = num // 100
digit_2 = (num % 100) // 10
digit_3 = num % 10
# 判断是否是水仙花数
if (digit_1 ** 3 + digit_2 ** 3 + digit_3 ** 3) == num:
print(num)
```
这段代码使用了一个循环,从 100 到 999 遍历整个数字范围,分离每一位数字,并使用每一位数字的立方和与原数字进行比较,如果相等,则表示该数字是水仙花数。
相关问题
用Python编写水仙花数,并且可以储存
在Python中,水仙花数是一种特殊的三位数,其各位数字立方之和等于它自身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。下面是一个简单的函数来检查并存储水仙花数:
```python
def check_s Narcissistic_number(num):
# 将数字转换为字符串以便计算每一位的立方
str_num = str(num)
# 确保输入是三位数
if len(str_num) != 3 or not str_num.isdigit():
return False
# 计算每位立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in str_num)
# 如果和等于原数,就是水仙花数,返回True;否则返回False
return num == sum_of_cubes
# 定义一个列表来存储找到的水仙花数
narcissistic_numbers = []
# 循环从最小的三位数到最大的三位数
for i in range(100, 1000):
if check_s Narcissistic_number(i):
narcissistic_numbers.append(i)
# 打印所有的水仙花数
print("水仙花数有:", narcissistic_numbers)
用python编写水仙花数,要求结果在同一行
在Python中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个简单的函数来找出所有的水仙花数:
```python
def find_pythagorean_triplets(n):
for num in range(100, n+1): # 只考虑三位数
digits = [int(d) for d in str(num)] # 将数转换为列表并提取每一位
if len(digits) != 3: # 检查是否为三位数
continue
if sum([d**3 for d in digits]) == num: # 计算每个位立方并检查总和是否等于原数
print(num)
find_pythagorean_triplets(1000) # 找出范围内的所有水仙花数
```
当你运行这个程序,它会打印出小于给定值的所有水仙花数。如果你想把结果放在一行,可以稍微修改一下代码,将`print(num)`改为`print(num, end=' ')`,但在标准输出中,每一行的元素默认会被换行。
阅读全文