python编写程序输出50以内的勾股数。要求每行显示6组,各组勾股数无重复。例如显示3,4,5
时间: 2024-09-30 20:09:07 浏览: 40
Python实现获取前100组勾股数的方法示例
在Python中,我们可以利用嵌套循环以及条件判断来找出50以内的勾股数并满足每行显示6组且无重复的要求。勾股数是指能够构成直角三角形三边的一对整数,满足a² + b² = c² 的关系,其中c是最长边,a和b是其他两边。
以下是代码示例:
```python
def find_pythagorean_pairs(n):
pairs = []
for i in range(1, n):
for j in range(i, n):
# 检查是否为勾股数
if i * i + j * j <= n**2:
continue
c = i * i + j * j
if c > n**2 or (i, j) in pairs:
break
else:
pairs.append((i, j))
if len(pairs) == 6:
print(f"{pairs[-3:-1][0]}, {pairs[-3:-1][1]}, {int(c**0.5)}")
pairs.clear() # 清空已找到的组合,准备下一行
find_pythagorean_pairs(50)
```
这段代码首先初始化一个列表`pairs`用于存储找到的组合。然后通过两个for循环遍历所有可能的整数对`(i, j)`,检查它们是否构成勾股数,并确保每个组合只出现一次。当找到一组勾股数后,如果已经找到了6组,就打印这组勾股数,然后清空`pairs`继续寻找下一行的组合。
阅读全文