求出10个“韩信点兵数”,该数除以3余2, 除以5余3 , 除以7余4 。(例如53 , 158 , 263 …) 上传源代码文件。 要求: 无输入。 输出格式为(最后一行末尾必须换行): 输出10个数,数与数之间以一个逗号分隔
时间: 2023-05-26 13:04:36 浏览: 74
```python
# Brute Force
n = 1
count = 0
ans = []
while count < 10:
if n % 3 == 2 and n % 5 == 3 and n % 7 == 4:
ans.append(n)
count += 1
n += 1
print(*ans, sep=',', end='\n')
```
```python
# Chinese Remainder Theorem
def CRT(cond):
M = 1
for c in cond:
M *= c[1]
ans = 0
for c in cond:
Mi = M // c[1]
ans += c[0] * Mi * pow(Mi, -1, c[1])
return ans % M
cond = [(2, 3), (3, 5), (4, 7)]
ans = []
for i in range(10):
ans.append(CRT(cond))
cond[0] = (cond[0][0] + 3, cond[0][1])
cond[1] = (cond[1][0] + 5, cond[1][1])
cond[2] = (cond[2][0] + 7, cond[2][1])
print(*ans, sep=',', end='\n')
```
两种方法都可以得到正确结果,第一种方法是暴力枚举的,第二种方法是用中国剩余定理合并余数同余方程,计算量更小。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)