勾股数 百科内容来自于: 百度百科

勾股数又名毕氏三元数 凡是可以构成一个直角三角形三边的一组正整数,称之为勾股数。

常用套路

简介

所谓勾股数,一般是指能够构成直角三角形三条边的三个正整数(例如a,b,c)。
即a^2+b^2=c^2,a,b,c∈N
又由于,任何一个勾股数组(a,b,c)内的三个数同时乘以一个整数n得到的新数组(na,nb,nc)仍然是勾股数,所以一般我们想找的是a,b,c互质的勾股数组。
关于这样的数组,比较常用也比较实用的套路有以下两种:

第一套路

当a为大于1的奇数2n+1时,b=2n^+2n, c=2n^+2n+1。
实际上就是把a的平方数拆成两个连续自然数,例如:
n=1时(a,b,c)=(3,4,5)
n=2时(a,b,c)=(5,12,13)
n=3时(a,b,c)=(7,24,25)
... ...
这是最经典的一个套路,而且由于两个连续自然数必然互质,所以用这个套路得到的勾股数组全部都是互质的。

第二套路

2、当a为大于4的偶数2n时,b=n^-1, c=n^+1
也就是把a的一半的平方分别减1和加1,例如:
n=3时(a,b,c)=(6,8,10)
n=4时(a,b,c)=(8,15,17)
n=5时(a,b,c)=(10,24,26)
n=6时(a,b,c)=(12,35,37)
... ...
这是第二经典的套路,当n为奇数时由于(a,b,c)是三个偶数,所以该勾股数组必然不是互质的;而n为偶数时由于b、c是两个连续奇数必然互质,所以该勾股数组互质。
所以如果你只想得到互质的数组,这条可以改成,对于a=4n (n>=2), b=4n2-1, c=4n2+1,例如:
n=2时(a,b,c)=(8,15,17)
n=3时(a,b,c)=(12,35,37)
n=4时(a,b,c)=(16,63,65)
... ...

公式证明

证明

a=2mn
b=m^2-n^2
c=m^2+n^2
证:
假设a^2+b^2=c^2,这里研究(a,b)=1的情况(如果不等于1则(a,b)|c,两边除以(a,b)即可)
如果a,b均奇数,则a^2 + b^2 = 2(mod 4)(奇数mod4余1),而2不是模4的二次剩余,矛盾,所以必定存在一个偶数。不妨设a=2k
等式化为4k^2 = (c+b)(c-b)
显然b,c同奇偶(否则右边等于奇数矛盾)
作代换:M=(c+b)/2, N=(c-b)/2,显然M,N为正整数
往证:(M,N)=1
如果存在质数p,使得p|M,p|N, 那么p|M+N(=c), p|M-N(=b), 从而p|c, p|b, 从而p|a,这与(a,b)=1矛盾
所以(M,N)=1得证。
依照算术基本定理,k^2 = p1^a1 * p2^a2 * p3^a3 * ...,其中a1,a2...均为偶数,p1,p2,p3...均为质数
如果对于某个pi,M的pi因子个数为奇数个,那N对应的pi因子必为奇数个(否则加起来不为偶数),从而pi|M, pi|N,(M,N)=pi>1与刚才的证明矛盾 所以对于所有质因子,pi^2|M, pi^2|N,即M,N都是平方数
设M = m^2, N = n^2
从而有c+b = 2m^2, c-b = 2n^2,解得c=m^2+n^2, b=m^2-n^2, 从而a=2mn

局限

关于勾股数的公式还是有局限的。勾股数公式可以得到所有的基本勾股数,但是不可能得到所有的派生勾股数。比如3,4,5;6,8,10;9,12,15...,就不能全部有公式计算出来。

完全公式

公式

a=m,b=(m^2 / k - k) / 2,c=(m^2 / k + k) / 2 ①
其中m ≥3
⒈ 当m确定为任意一个 ≥3的奇数时,k={1,m^2的所有小于m的因子}
⒉ 当m确定为任意一个 ≥4的偶数时,k={m^2 / 2的所有小于m的偶数因子}
基本勾股数与派生勾股数可以由完全一并求出。例如,当m确定为偶数432时,因为k={432^2 / 2的所有小于432的偶数因子}= {2,4,6,8,12,16,18,24,32,36,48,54,64,72,96,108,128,144,162,192,216,288,324,384},将m=432及24组不同k值分别代入b=(m^2 / k - k) / 2,c=(m^2 / k + k) / 2;即得直角边a=432时,具有24组不同的另一直角边b和斜边c,基本勾股数与派生勾股数一并求出。而勾股数的组数也有公式能直接得到。

组数N

算术基本定理:一个大于1的正整数n,如果它的标准分解式为n=p1^m1×p2^m2×……×pr^mr,那么它的正因数个数为N=(m1+1)×(m2+1)×……×(mr+1);依据定理,易得以下结论
当a给定时,不同勾股数组a,b,c的组数N等于①式中k的可取值个数
⒈ 取奇数a=p1^m1×p2^m2×……×pr^mr,其中k={1,a^2的所有小于a的因子},则k的可取值个数:
N=[(2m1+1)×(2m2+1)×……×(2mr+1)-1]/2
⒉ 取偶数a=2^m0×p1^m1×p2^m2×……×pr^mr,其中k={a^2 / 2的所有小于a的偶数因子},则k的可取值个数:
N=[(2m0-1)×(2m1+1)×(2m2+1)×……×(2mr+1)-1]/2
其中,p1,p2,……,pr为互不相同的奇素数,m0,m1,……,mr为幂指数。

整勾股数

JAVA编程
publicclassTest勾股数{

 publicvoidprint勾股数(){

 intnumber=0;

 inta=3,b,c;

 doubled;

 for(;a<100;a++)

 for(b=a+1;b<100;b++)

 {

 d=Math.sqrt(a*a+b*b);

 c=(int)d;

 if(c>100)break;

 if(d-c<=0){

 number++;

 System.out.print("("+a+""+b+""+c+")");

 if(number%4==0){

 System.out.println();

 }

 }

 

 }

 System.out.println("共有"+number+"组");

 }

 publicstaticvoidmain(String[]args){

 newTest勾股数().print勾股数();

 }

 }

常见组合

3,4,5 : 勾三股四弦五
5,12,13 : 5·12记一生(13)
6,8,10: 连续的偶数
8,15,17 : 八月十五在一起(17)

特殊组合

连续的勾股数只有3,4,5
连续的偶数勾股数只有6,8,10

20以内

3 4 5;5 12 13; 6 8 10;8,15,17;9 12 15

20-130

7 24 25 9 40 41;10 24 26;11 60 61;12 16 20;12 35 37;13 84 85;14 48 50;15 20 25;15 36 39;16 30 34;16 63 65;18 24 30;18 80 82;20 21 29;20 48 52;21 28 35;21 72 75;24 32 40;24 45 51;24 70 74;25 60 65;27 36 45;28 45 53;30 40 50;30 72 78;32 60 68;33 44 55;33 56 65;35 84 91;36 48 60;36 77 85;39 52 65;39 80 89;40 42 58;40 75 85 ;40 96 104;42 56 70 ; 45 60 75 ; 48 55 73 ; 48 64 80 ; 48 90 102 ; 51 68 85 ;54 72 90 ; 56 90 106 ; 57 76 95 ; 60 63 87 ; 60 80 100 ;60 91 109 ; 63 84 105 ; 65 72 97 ; 66 88 110 ; 69 92 115 ;72 96 120 ; 75 100 125 ; 80 84 116。
三个数都在100以内共有52组。
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定