stumblemodel 发表于 2023-12-27 21:10:12

勾股数

若像这样的三个数的组合,满足其中两个数的平方=另一个数的平方,且这三个数都是正整数,叫一组勾股数。
编程实现:
        输入一个正整数n,输出平均值从小到大的n组勾股数

FishC 发表于 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 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 勾股数