生成勾股数的4种方法
上周和儿子去德克士吃饭,回来时我说起总要想一些勾股数来出题,算起来不是很方便。他说他上课时自己想过两个算法,我很有兴趣,将他的算法(前两个)记录如下.
方法1
任取一个大于 1 的奇数 a ,取 h=2a2
由于 a2 也是奇数,则 h 一定是个小数且其小数部分是 0.5
取 c=h+0.5 、b=h−0.5
则有 c2=a2+b2
即任取一个奇数时可以得到这样一组勾股数,其中必包含两个连续的整数.
例:
取奇数 a=9
得到 h=281=40.5
b=40.5−0.5=40
c=40.5+0.5=41
412=402+92
方法2
任取一个大于 2 的偶数 a ,取 h=4a2
由于 a2 也是偶数,则 h 一定是一个整数
取 c=h+1 、b=h−1
则有 c2=a2+b2
即任取一个偶数时可以得到这样一组勾股数,其中必有两个数差为2 .
例:
取偶数 a=12
h=4144=36
b=36−1=35
c=36+1=37
372=352+122
方法3
任取两个互质的整数 m 、n ,且 m>n
a=m2−n2
b=2mn
c=m2+n2
有 a2+b2=c2
即任取两个互质的整数时可以得到这样一组勾股数,三个勾股数互质.
例:
取 m=10 , n=7
得到
a=100−49=51
b=2×10×7=140
c=100+49=149
1492=1402+512
方法4
通过以上三种方法得到的勾股数均是互质的,给每一组勾股数分别乘大于 1 的整数 k 可以得到不互质的其它勾股数.
例如由 12 ,35 ,37 可以得到
分别乘以 2 :24 ,70 ,74
分别乘以 3 :36 ,105 ,111 等.