用python编写水仙花数
时间: 2023-09-06 15:04:45 浏览: 110
python实现水仙花数
5星 · 资源好评率100%
### 回答1:
以下是在 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 遍历整个数字范围,分离每一位数字,并使用每一位数字的立方和与原数字进行比较,如果相等,则表示该数字是水仙花数。
### 回答2:
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。现在要用 Python 编写一个程序来寻找所有的水仙花数。
首先,我们可以使用两个 for 循环嵌套来遍历所有可能的三位数。外层 for 循环用于遍历百位数字,取值范围为 1 到 9(因为一个数的百位不可能为 0)。内层 for 循环用于遍历十位和个位数字,取值范围也为 0 到 9。
在每次循环中,我们将当前百位、十位和个位数字分别存储在对应的变量中。然后,我们可以计算立方和 sum,即将每个数字的立方相加。最后,我们将 sum 与当前的三位数比较,如果相等,则输出该数为水仙花数。
以下是用 Python 编写的水仙花数程序:
```python
for i in range(1, 10): # 百位数字循环
for j in range(10): # 十位数字循环
for k in range(10): # 个位数字循环
num = i * 100 + j * 10 + k
sum = i ** 3 + j ** 3 + k ** 3
if num == sum:
print(num)
```
上述程序会输出所有的水仙花数,即 153、370、371 和 407。其中,153 的立方和等于 153,370 的立方和等于 370,371 的立方和等于 371,407 的立方和等于 407。
不过需要注意的是,水仙花数只存在于三位数中,因此不需要考虑更长数字的情况。
### 回答3:
水仙花数是指一个三位数,其各个位上数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是用Python编写水仙花数的代码:
```python
for num in range(100, 1000):
# 获取百位、十位和个位上的数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds**3 + tens**3 + ones**3:
print(num)
```
上述代码中,我们使用了一个`for`循环来迭代从100到999之间的所有三位数。在每次循环中,我们通过整除和取余运算符来获取百位、十位和个位上的数字。
然后,我们使用条件语句判断该数字是否等于各个位上数字的立方和。如果是,则打印该数字,即为水仙花数。
运行此代码,我们将得到以下输出结果:
```
153
370
371
407
```
这些数字都是三位水仙花数。
阅读全文