帮我写一段生成水仙花数的代码
时间: 2023-09-24 17:06:41 浏览: 109
### 回答1:
我可以用以下代码来生成水仙花数:for n in range(100, 1000):
i = int(n / 100)
j = int(n / 10 % 10)
k = int(n % 10)
if n == i ** 3 + j ** 3 + k ** 3:
print(n)
### 回答2:
生成水仙花数的代码可以使用循环和条件判断来实现。水仙花数是指一个三位数,它的各个位上的数字的立方和等于它本身。例如,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)
```
通过上述代码,我们从100到999的全部三位数中循环遍历,对于每个数字,我们将其分解成个位、十位和百位上的数字,然后计算它们的立方和。如果立方和等于该数字本身,则该数字是一个水仙花数,我们将它输出。
运行以上代码,就可以得到100到999之间的所有水仙花数。输出结果为153、370、371、407。
### 回答3:
水仙花数是指一个3位数,其各个位上数字的立方和等于该数本身。要生成水仙花数的代码,可以使用循环和条件判断来实现。以下是一个简单的Python代码示例:
```python
for number in range(100, 1000):
# 分解百位、十位和个位上的数字
digit_1 = number // 100
digit_2 = (number % 100) // 10
digit_3 = number % 10
# 判断是否为水仙花数
if number == digit_1 ** 3 + digit_2 ** 3 + digit_3 ** 3:
print(number)
```
上述代码首先使用`range()`函数生成了一个从100到999的数字范围。然后使用整除和取余运算,将这个3位数分解为百位、十位和个位上的数字。接着,通过判断这三个数字的立方和是否等于原始数字本身,筛选出水仙花数并打印输出。
使用以上代码,可以得到所有的3位水仙花数,即153、370、371和407。
阅读全文