勾股数
若像这样的三个数的组合,满足其中两个数的平方=另一个数的平方,且这三个数都是正整数,叫一组勾股数。编程实现:
输入一个正整数n,输出平均值从小到大的n组勾股数 代码如下:
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 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]