水仙花数是指一个 n 位数(n≥3),它的每位上的数字的 n 次幕之和等于它本身。 例 如: 1^3+5^3+3^3 = 153。 求 100 ~ 999 之间所有的水仙花数。(用python实现)
时间: 2023-12-23 11:04:04 浏览: 72
好的,这是一个简单的编程问题。这里是Python的代码:
```python
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
print(i)
```
这段代码使用了两个循环,首先是一个 `for` 循环,用于遍历所有 100 到 999 之间的整数。然后我们将整数转换为字符串,并使用另一个 `for` 循环遍历每个数字,并将它们的立方和相加。最后,我们检查这个和是否等于原始整数,并打印出符合条件的水仙花数。
相关问题
水仙花数是指一个 n 位数(n≥3),它的每位上的数字的 n 次幕之和等于它本身。 例 如: 1^3+5^3+3^3 = 153。 求 100 ~ 999 之间所有的水仙花数。
可以使用循环遍历 100~999 之间的所有数,然后判断每个数是否为水仙花数,如果是,则将其加入结果列表中。判断一个数是否为水仙花数,可以将其各个位上的数字取出来,然后根据公式进行求幂和,最后与原数进行比较。
代码如下:
```python
res = []
for num in range(100, 1000):
s = str(num)
n = len(s)
sum = 0
for i in range(n):
sum += int(s[i]) ** n
if sum == num:
res.append(num)
print(res)
```
执行结果为:
```
[153, 370, 371, 407]
```
因此,100~999 之间所有的水仙花数为 153、370、371 和 407。
水仙花数是指一个n位数(n≥3),它的每位上的数字的n次幂之和等于它本身。例如:1^3+5^3+3^3=153,求100-999之间所有的水仙花数。
可以使用循环来遍历100-999之间的所有数,然后计算每个数的每位数字的n次幂之和,判断是否等于该数本身。具体实现如下:
```python
for i in range(100, 1000):
# 将数字转化为字符串,方便提取每位数字
digits = str(i)
n = len(digits)
# 计算每位数字的n次幂之和
sum = 0
for digit in digits:
sum += int(digit) ** n
# 判断是否为水仙花数
if sum == i:
print(i)
```
运行上述代码,输出结果为:
```
153
370
371
407
```
因此,100-999之间所有的水仙花数为153、370、371和407。
阅读全文