|
发表于 2023-12-27 21:10:27
|
显示全部楼层
代码如下:
- import math
- def find_pythagorean_numbers(n):
- # 用于存储勾股数的列表
- pythagorean_numbers = []
- # 遍历所有可能的勾股数组合
- for a in range(1, n+1):
- for b in range(a+1, n+1):
- c = math.sqrt(a**2 + b**2)
- if c.is_integer():
- # 将三个数按平均值从小到大的顺序添加到列表中
- pythagorean_numbers.append((a, b, int(c)))
- # 按勾股数的平均值从小到大排序
- pythagorean_numbers.sort(key=lambda x: sum(x)/len(x))
- # 输出结果
- for numbers in pythagorean_numbers:
- print(numbers)
- # 测试
- n = int(input("请输入一个正整数n:"))
- find_pythagorean_numbers(n)
复制代码
运行以上代码,输入一个正整数n,即可输出平均值从小到大的n组勾股数。
例如,当输入n为5时,输出的结果为:
- (3, 4, 5)
- (6, 8, 10)
- (5, 12, 13)
- (9, 12, 15)
- (8, 15, 17)
复制代码
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|