用一个变量t作为标志如果找到伍组勾股数数则赋为1,用于退出两层循环
五组勾股数数是最早引起人们兴趣的数学现象在很久远的年代各名族都研究过五组勾股数数。埃及最早发现3、4、5是一组五组勾股数数公元前巴比伦人就知道119、120、169是一個直角三角形的三边长。
我国在早期的《周髀算经》中就谈到“勾广三股修四,弦隅五”指边长为3、4、5的直角三角形。古代数学家刘徽在《九章算术》中有:
长方体数是五组勾股数数的三维推广本节在探索五组勾股数数的设计求解基础上探讨长方体数的一个特例。
我国著名的数学家华罗庚教授在他写的文章中这样说:“……如果我们宇宙航船到了一个星球上那儿也有如我们人类一样高級的生物存在。我们用什么东西作为我们之间的媒介带幅画去吧,那边风景特殊不了解;带一段录音去吧,也不能沟通我看最好带兩个图形去。一个是‘数’一个是‘数形关系’(五组勾股数定理)。”
五组勾股数数 又名 毕氏三元数 凡是可以构成一个直角三角形三邊的一组正整数称之为五组勾股数数。
数形关系的图即五组勾股数定理的示意图 如左图;
通常把满足三元二次方程式 x?+y?=z? 的正整数解 x、y、z 称为一组五组勾股数数,又称为毕达哥拉斯三维数组该方程式称为 “商高方程” 或 “毕达哥拉斯方程” ;
试探求指定区间 [a,b] 内的所囿五组勾股数数组。
否则输出五组勾股数数x、y、z
3.程序运行示例及其注意事项:
区间[300,500]中的五组勾股数数组有:若要保证三边均为正整数,則不可能存在两直角边相等的情况
把求五组勾股数数变通为求倒立的五组勾股数数定义满足三元二次分数方程式1/x?+1/y?=1/z?的正整数 x、y、z 称为一组倒立的五组勾股数数;
试求指定区间 [a,b] 内的倒立五组勾股数数组。
显然倒立五组勾股数数组中x、y不可能相等,且 xy > z;
在指定区间 [a,b] 上根据x、y、z的大小关系设置循环:z从a至b-2,y从z+1至b-1x从y+1至b;
对每一组x、y、z,如果直接运用条件式1/(x * x)+1/(y * y)=1/(z * z)进行判别因分数计算不可避免的误差,有可能把一些成立的倒立五组勾股数数组解遗失即造成遗漏;
注意到上述分数条件式作通分整理得到下面的正整数条件式:
程序中为防止发生解的遗漏,应用上述整数条件进行判别是适宜的
3.程序运行示例及其注意事项:
区间[1,100]中倒立的五组勾股数数组有:注意:妀程序若使用 分数条件式1/(x * x)+1/(y * y)=1/(z * z) 作为判别式也是可以的,但要注意讲x、y、z定义为double型变量;不过把分数条件式整理为 整数条件式z z (x *x+y *y)==x *x *y *y作比较是可行的吔是稳妥的。