Python程序:查找给定范围内的所有勾股数


2022 年 12 月 20 日, Learn eTutorial
2965

这是一个简单的基于数字的Python程序。在这里,我们将生成勾股数。

为了更好地理解这个示例,我们始终建议您学习以下列出的 Python 编程基础知识

什么是勾股数?

这个简单的Python程序将生成给定范围内的所有勾股数。如果三个正数a、b和c满足 **a2 + b2 = c2**,则称它们为勾股数,通常表示为 **(a, b, c)**。在直角三角形中,**a** 表示直角边,**b** 表示底边,**c** 表示斜边。

我们以 (3, 4, 5) 为例,这三个数是著名的勾股数,因为 32 + 42 = 52 ==> 9 + 16 = 25。

为了理解该程序,我们建议您学习勾股定理的基础知识。

Prime number Checking

如何在Python中查找勾股数?

为了将此逻辑应用于Python编程语言,我们接受用户输入作为限制,以在该限制内检查所有勾股数。然后打开一个 `while 循环`,直到数字小于限制。然后打开一个 `for 循环`,从 _1到m_,我们必须计算 _m2-n2_ 并将该值存储在变量 **a** 中。现在计算 _2*m*n_ 并将其存储在变量 **b** 中,并计算 _m2+n2_ 并将其存储在变量 **c** 中。现在打开一个 `if` 条件来检查 **c** 是否大于限制,如果是,则 `break` 程序。然后 `print` 变量 **a、b** 和 **c**。最后,将 **m** 增加一。

算法

步骤1: 使用Python编程中的输入方法从用户获取限制。

步骤2: 初始化变量 **c** 和 **m**。

步骤3: 打开一个 `while 循环`,直到 **c** 小于限制。

步骤4: 打开一个 `for 循环`,从 **1** 到 **m**,计算三个变量 **a、b、c**。

步骤5: 打开一个 `if` 条件,检查 **c** 是否大于限制,如果是,则 `break` 程序。

步骤6: 打印变量 **a、b** 和 **c** 作为勾股数。并将 **m** 增加 1。

Python 源代码

                                          limit=int(input("Enter upper limit:"))
c=0
m=2
while(c<limit):
    for n in range(1,m):
        a=m*m-n*n
        b=2*m*n
        c=m*m+n*n
        if(c>limit):
            break
        print(a,b,c)
    m=m+1
                                      

输出

Enter upper limit:17
3 4 5
8 6 10
5 12 13
15 8 17