自学Python:求勾股数

作者: 小强聊成长 | 来源:发表于2021-12-12 08:55 被阅读0次

什么是勾股数?

勾股数就是指能够构成直角三角形三条边的三个正整数(a,b,c),根据“勾股数”定义,所求三角形三边应满足条件a^2+b^2=c^2。可以在所求范围内利用穷举法找出满足条件的数。那么50以内有多少勾股数?

下面直接上代码:

########################

import math

if __name__ == "__main__":

    count = 0

    print("50以内的勾股数有:")

    # a、b、c分别表示三角形的三条边

    # 满足勾股数的三个数组成的三角形一定是直角三角形

    print("  a\tb\t c \t\t a \t b \t  c \t\t a \t  b\t  c \t\t a\t b\t  c");

    # 求50以内的勾股数

    for a in range(1,51):

        for b in range(a+1, 51):          # 邻边不能相等,否则就是等边三角形了

            c = int(math.sqrt(a*a + b*b))  # 求c值,并转换为整型

            # 判断c的平方是否等于a*a + b*b,且两边之和大于第三边

            if c*c == (a*a + b*b) and (a + b > c) and (a + c > b) and (b + c > a) and c <= 50:

                print("%4d %4d %4d\t |" %(a, b, c), end="")

                count += 1

                if count % 4 == 0:

                    print()

########################

执行结果如下:

50以内的勾股数有:

  a b c a b   c a   b   c a b   c

  3    4    5 |  5  12  13 |  6    8  10 |  7  24  25 |

  8  15  17 |  9  12  15 |  9  40  41 |  10  24  26 |

  12  16  20 |  12  35  37 |  14  48  50 |  15  20  25 |

  15  36  39 |  16  30  34 |  18  24  30 |  20  21  29 |

  21  28  35 |  24  32  40 |  27  36  45 |  30  40  50 |

________________END______________

相关文章

  • 自学Python:求勾股数

    什么是勾股数? 勾股数就是指能够构成直角三角形三条边的三个正整数(a,b,c),根据“勾股数”定义,所求三角形三边...

  • 编程题目

    1.求勾股数 题目描述 求100以内的所有勾股数。 所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,...

  • 勾股数

    字母O表示八进制,D表示十进制,B二进制,H十六进制 二进制转八进制 二进制数转换成八进制数:从小数点开始,整数部...

  • 2020-01-19(学习笔记)

    数论概论 勾股数组a²+b²=c²与单位圆x²+y²=1 (a/c)²+(b/c)² = 1 => 勾股数组的正整...

  • 勾股数---偶数

    奇数 在上节课中,我们了解了奇数的证明勾股数的证明方法: 当a为大于1的奇数2n+1时,b=2n^2+2n, c=...

  • 蓝杯三十七

    算法提高 勾股数 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 勾股数是一组三个自然数,a...

  • 数论 | 勾股数组

    前言 勾股定理想必大家都不陌生,它表明任一个直角三角形的两条直角边长的平方和等于斜边长的平方。其公式形式如下: 勾...

  • 探索勾股数组

    在经历完整的勾股定理建构历程,也就是从猜想到证明的这一个程后,我们开始有了新的探索。 我们都知道,勾股定理是:在一...

  • 2018-08-25

    关于勾股数的一些想法:题目:2018中国大学生程序设计竞赛 - 网络选拔赛勾股数:维基百科 以下的方法也可以用于找...

  • 勾股数的神奇规律

    我们先来观察一组勾股数: a、b、c 3、4、5 5、12、13 7、24、25 9、40、41 11、60、61...

网友评论

    本文标题:自学Python:求勾股数

    本文链接:https://www.haomeiwen.com/subject/loigxrtx.html