用穷举法求某数段的水仙花数python
时间: 2023-11-01 08:52:13 浏览: 117
水仙花数又称自恋数,是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为 $1^3+5^3+3^3=153$。
可以使用穷举法来求解某数段内的水仙花数,具体步骤如下:
1. 遍历该数段内的所有三位数;
2. 对于每个三位数,将其百位、十位、个位分别取出;
3. 计算百位、十位、个位的立方和,判断是否等于该数本身;
4. 如果等于,则输出该数。
下面是相应的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)
```
输出结果为:
```
153
370
371
407
```
相关问题
python输出符合条件水仙花数,同时输出穷举法次数。
可以使用以下代码输出符合条件的水仙花数,并计算出穷举法的次数:
```python
count = 0 # 穷举法次数的计数器
for i in range(100,1000):
# 将 i 拆分为各个位上的数字
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否符合水仙花数的定义
if a**3 + b**3 + c**3 == i:
print(i)
count += 1
print("穷举法次数:", count)
```
在这段代码中,我们使用了一个 `count` 变量来计数穷举法的次数。每次循环,都会将 `count` 加 1。最后输出 `count` 的值即可得到穷举法的次数。
求解100-999的水仙花数。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 输出符合条件水仙花数,同时输出穷举法次数。Python
下面是Python代码:
count = 0
for i in range(100, 1000):
a = i // 100
b = (i // 10) % 10
c = i % 10
if i == a**3 + b**3 + c**3:
print(i)
count += 1
print("穷举法次数:", count)
输出结果:
153
370
371
407
穷举法次数: 900
阅读全文