|
> No.3090[元記事へ]
GAIさんへのお返事です。
> 直角三角形で斜辺の長さが平方数、また直角を挟む2辺の和も平方数
> であるような直角三角形は存在しますか?
> もし存在すれば、最小のものはどんな長さになっているか?
>
> これってプログラム的に見つかりますか?
考察
直角三角形の直角を挟む2辺の長さをa,b、斜辺の長さをcとする。
題意より、
a^2+b^2=c^2なので、a,b,cはピタゴラス数である。
よって、a=m^2-n^2、b=2mn、c=m^2+n^2と表される。
3番目の式c=m^2+n^2=C^2なので、m,n,Cはピタゴラス数である。
よって、m=x^2-y^2、n=2xy、C=x^2+y^2と表される。
これより、組(x,y)→組(m,n,C)→組(a,b,c)を求めて、a+bが平方数なら、題意を満たす。
(終り)
OPTION ARITHMETIC RATIONAL !多桁整数
FOR x=2 TO 2000 !0<y<x
FOR y=1+MOD(x,2) TO x-1 STEP 2
IF GCD(x,y)=1 THEN !x-yが奇数、xとyは互いに素
LET m=x^2-y^2
LET n=2*x*y
IF n>m THEN SWAP m,n !0<n<m
IF MOD(m-n,2)=1 AND GCD(m,n)=1 THEN !奇数、互いに素
LET a=m^2-n^2
LET b=2*m*n
LET w=a+b
LET t=INTSQR(w) !a+bは平方数
IF t*t=w THEN
LET c=m^2+n^2
PRINT x;y; m;n !debug
PRINT a;b;c
PRINT t; x^2+y^2 !√(a+b), c=C^2
END IF
END IF
END IF
NEXT y
NEXT x
END
x=1469 y=84 m=2150905 n=246792
a=4565486027761 b=1061652293520 c=4687298610289
a+b=2372159^2 c=2165017^2
|
|