Python编程算法【二十九】勾股数
【案例内容】
所谓勾股数,是指组成直角三角形的三条边分别为a、b、c,它们满足:a² + b² = c²。
求100以内的所有勾股数。
【解题思路】
经分析,只要在100内找出所有符合a2 + b2 = c2的三个数即可。进一步分析,循环时a从1开始,循环到98即可,因为如果a循环到100,则b和c的取值势必会超过100;接着b的取值从a+1开始,它的取值范围是1到99;以此类推,c从b+1开始,循环到100。最后用if判断,把满足条件的a、b、c全部找出来即可。
【Python代码】

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