一道有关直角三角形边长的问题

来源:百度知道 编辑:UC知道 时间:2024/06/13 19:46:36
题目:已知直角三角形的三边长均为正整数,且它的一条直角边的长恰是1997,那么另一条直角边的长是多少?

我已经知道答案,但不知道思路,我想找到的解题的简要过程,就好有说明,如果能写出解这类题的关键点,我追加分数!
如果直角边的长是1996怎么办呢???x-y=1是什么意思,怎么得出来的??有哪位数理化高手能留下QQ或E-mail,小弟我想多多请教,英语的高手也行,我英语急需帮助,谢谢!

设直角边为X,斜边为Y,则:Y^2-X^2=1997^2 => (Y-X)(Y+X)=1997^2
现在是关键处:可以证明,1997是素数!!!
(证明很简单:从2—45都不能整除1997)
所以:1997^2 只能被分解为1*1997^2,从而:
Y-X=1,且Y+X=1997^2=3988009 。
解此简单的二元一次方程得:Y=1994005,X=1994004。

---------------------------------------------------------
对问题补充的回答:

如果不是1997,即不是素数,那就只有找出所有可能的因式分解方式,逐一求解了。
以1996为例,1996因式分解为:1996=2*2*499,那么
1996^2=2*2*2*2*499*499,可以分解为:
1*3984016
2*1992008
4*996004
8*498002
16*249001
998*3992
1996*1996
共7组解。逐一求解,并舍去非正整数的解,可得:
X=996003,Y=996005
X=498000,Y=498004
X=248997,Y=249005
X=1497,Y=2495

顺便说一下,如果不是1996而是另一个数N,也可同样处理。假设N可以有n个互素的因子V1,V2,...,Vn,那么可能的组合最多为:
(C(0,n)+C(1,n)+C(2,n)+...+C(n,n))/2种,
根据公式,(C(0,n)+C(1,n)+C(2,n)+...+C(n,n))/2=2^(n-1)
以1996为例,n=6就最多有2^(6-1)=32种。
事实上,如果在V1~Vn中有重复的(比如上例,有4个2,2个499。而由于N=M^2,从而肯定有重复的,这里只是粗略估计,就不再仔细考虑了),那么组合数还要少。上例中就只有7种可能。

可以求出一个范围,然后再找到其中正整数,再一个一个的试,找到都是正整数数字