欢迎光临散文网 会员登陆 & 注册

Python编程算法【二十九】勾股数

2022-12-04 16:25 作者:SPC编程爱好者  | 我要投稿

【案例内容】

所谓勾股数,是指组成直角三角形的三条边分别为a、b、c,它们满足:a² + b² = c²。
求100以内的所有勾股数。


【解题思路】

经分析,只要在100内找出所有符合a2 + b2 = c2的三个数即可。进一步分析,循环时a从1开始,循环到98即可因为如果a循环到100,则b和c的取值势必会超过100接着b的取值a+1开始它的取值范围是1到99以此类推cb+1开始,循环到100最后if判断,把满足条件的abc全部找出来即可


【Python代码】

100以内满足条件的勾股数共有52组

再次提醒大家,使用range函数时,要取到末尾那个数,比如98,记得传入的参数是98+1,即99。此外,如果要做的更加严谨一些,则还需判断组成三角形的条件——任意两边之和要大于第三边,只不过找出来的这52组勾股数恰巧都满足了该条件。

Python编程算法【二十九】勾股数的评论 (共 条)

分享到微博请遵守国家法律