求出所有符合下列条件的三位正整数:分别乘以3、4、5、6、7后得到的整数的各位数字之和都相等。输入示例:  def fun(n):
时间: 2024-04-03 13:32:46 浏览: 488
数字信号处理试卷及答案.doc
5星 · 资源好评率100%
可以通过编写一个函数来解决这个问题。函数的输入参数为n,表示要求出符合条件的n位正整数。
具体实现步骤如下:
1. 首先定义一个列表results,用于保存符合条件的正整数。
2. 从1到999遍历每一个三位数,对于每一个遍历到的数,分别计算它乘以3、4、5、6、7后的结果,并将这些结果的各位数字之和相加,得到一个列表sums。
3. 判断sums中的所有元素是否相等,如果相等则表示这个三位数符合条件,将它添加到results列表中。
4. 遍历结束后,返回results列表即可。
代码实现如下:
```python
def fun(n):
results = []
for i in range(100, 1000):
sums = []
for j in range(3, 8):
sums.append(sum(int(k) for k in str(i * j)))
if len(set(sums)) == 1:
results.append(i)
return results
```
调用该函数,可以得到所有符合条件的三位正整数:
```python
>>> fun(3)
[108, 207, 306, 405, 504, 603, 702, 801, 909]
```
这些数分别乘以3、4、5、6、7后得到的结果的各位数字之和都相等。
阅读全文