python 找到所有1-1000内不重复的整数组合(a,b,c),需要满足:a^2+b^2=c^2
时间: 2024-09-09 10:12:05 浏览: 37
在Python中找到所有1到1000范围内满足勾股定理(即 a² + b² = c² 的整数组合a、b和c,我们通常会使用暴力搜索或者优化算法如欧几里得算法来检查是否存在这样的三元组。由于范围较小,暴力搜索是可以接受的。
这是一个简单的示例代码片段,展示了如何遍历并检查每个可能的a和b值:
```python
def pythagorean_triplets(max_num):
result = []
for a in range(1, max_num):
for b in range(a, max_num):
c = (a**2 + b**2) ** 0.5
if int(c)**2 == a**2 + b**2 and c <= max_num:
result.append((int(a), int(b), int(c)))
return result
triplets = pythagorean_triplets(1000)
print("在1-1000范围内满足条件的三元组有:", triplets)
阅读全文