题目链接:T156527 直角三角形
审题
根据勾股定理, a 2 + b 2 = = c 2 a^2 + b^2 == c^2 a2+b2==c2。
当然,由于勾股定理不在小学数学考查的的范围内,我们需要对勾股定理进行一些证明,让小学生能够轻松地做出此题。
勾股定理的证明
赵爽弦图
这个↑,就是传说中的“赵爽弦图”。
赵爽(?-?),一名婴,字君卿,是中国在三国时期吴国的数学家。生卒年不详,是否生活在三国时代其实也受质疑,著有《周髀算经注》,即对《周髀算经》的详细注释。
“勾股各自乘,并之,为弦实。开方除之,即弦。”
——赵爽《勾股圆方图说》
“按弦图,又可以勾股相乘为朱实二,倍之为朱实四,以勾股之差自相乘为中黄实,加差实,亦成弦实。”
——赵爽《勾股圆方图说》
语文好的同学,可以直接看下一个证明方法了。
在这张途中,正方形ABDE以弦为边长,由4个相等的直角三角形再加上中间的那个小正方形组成。
不妨设 A E = B F = C G = D H = a AE = BF = CG = DH = a AE=BF=CG=DH=a, B E = C F = D G = A H = b BE = CF = DG = AH = b BE=CF=DG=AH=b, A B = B C = C D = D A = c AB = BC = CD = DA = c AB=BC=CD=DA=c。
那么,
S 正方形 E F G H = ( b − a ) 2 S_{\text {正方形}EFGH} = (b - a)^2 S正方形EFGH=(b−a)2 ,
S △ A E B = S △ B F C = S △ C G D = S △ D H A = a × b 2 S_{\text {△}AEB} = S_{\text {△}BFC} = S_{\text {△}CGD} = S_{\text {△}DHA} = \frac {a \times b} {2} S△AEB=S△BFC=S△CGD=S△DHA=2a×b ,
4 S △ = 2 a b 4S_{\text {△}} = 2ab 4S△=2ab,
∴ S 正方形 A B C D = 4 S △ + S 正方形 E F G H = ( b − a ) 2 + 2 a b = a 2 − 2 a b + b 2 + 2 a b = a 2 + b 2 ∴S_{\text{正方形}ABCD} = 4S_{\text {△}} + S_{\text{正方形}EFGH} = (b - a)^2 + 2ab = a^2 - 2ab + b^2 + 2ab = a^2 + b^2 ∴S正方形ABCD=4S△+S正方形EFGH=(b−a)2+2ab=a2−2ab+b2+2ab=a2+b2
又 ∵ S 正方形 A B C D = c 2 \text{∵} S_{\text{正方形}ABCD} = c^2 ∵S正方形ABCD=c2
∴ a 2 + b 2 = c 2 \text{∴}a^2 + b^2 = c^2 ∴a2+b2=c2
证毕。
青朱出入图
没错就是这个,上面那张图多看几遍就会恍然大悟。
刘徽(约225年-约295年),山东淄博淄川人,三国时代魏国数学家,梁敬王刘定国之孙菑乡侯刘逢喜的后裔。
青朱出入图,是东汉末年数学家刘徽根据“割补术”运用数形关系证明勾股定理的几何证明法,其法富有东方智慧(?莫名想起这个),特色鲜明、通俗易懂。
利用相似三角形的证法
有许多勾股定理的证明方式,都是基于相似三角形中两边长的比例。
设 A B C {\displaystyle ABC} ABC 为一直角三角形,直角于 ∠ C {\displaystyle \angle C} ∠C(看右图)。从点 C {\displaystyle C} C 画上三角形的高,并将此高与 A B ‾ {\displaystyle {\overline {AB}}} AB 的交叉点称之为 H {\displaystyle H} H。此新 △ A C H {\displaystyle \bigtriangleup ACH} △ACH 和原本的 △ A B C {\displaystyle \bigtriangleup ABC} △ABC 相似,因为在两个三角形中都有一个直角(这又是由于“高”的定义),而两个三角形都有 A {\displaystyle A} A 这个共同角,由此可知第三只角都是相等的。同样道理, △ C B H {\displaystyle \bigtriangleup CBH} △CBH 和 △ A B C {\displaystyle \bigtriangleup ABC} △ABC 也是相似的。这些相似关系衍生出以下的比率关系:
因为
B C ‾ = a , A C ‾ = b , a n d A B ‾ = c , {\displaystyle {\overline {BC}}=a,{\overline {AC}}=b, {\rm and} {\overline {AB}}=c,\!} BC=a,AC=b,andAB=c,
所以
a c = H B ‾ a a n d b c = A H ‾ b . {\displaystyle {\frac {a}{c}}={\frac {\overline {HB}}{a}} {\rm and} {\frac {b}{c}}={\frac {\overline {AH}}{b}}.\,} ca=aHBandcb=bAH.
可以写成
a 2 = c × H B ‾ a n d b 2 = c × A H ‾ . {\displaystyle a^{2}=c\times {\overline {HB}} {\rm and} b^{2}=c\times {\overline {AH}}.\,} a2=c×HBandb2=c×AH.
综合这两个方程,我们得到
a 2 + b 2 = c × H B ‾ + c × A H ‾ = c × ( H B ‾ + A H ‾ ) = c 2 . {\displaystyle a^{2}+b^{2}=c\times {\overline {HB}}+c\times {\overline {AH}}=c\times ({\overline {HB}}+{\overline {AH}})=c^{2}.\,\!} a2+b2=c×HB+c×AH=c×(HB+AH)=c2.
换句话说:
a 2 + b 2 = c 2 . a 2 + b 2 = c 2 . {\displaystyle a^{2}+b^{2}=c^{2}.\,\!}a^2+b^2=c^2.\,\! a2+b2=c2.a2+b2=c2.
欧几里得的证法
在定理的证明中,我们需要如下四个辅助定理:
-
SAS(如果两个三角形有两组对应边和这两组边所夹的角相等,则两三角形全等。)
-
三角形面积是任一同底同高之平行四边形面积的一半。
-
任意一个正方形的面积等于其二边长的乘积。
-
任意一个矩形的面积等于其二边长的乘积。
其中3、4两个定理小学已经讲过了,这里不再赘述。
为了证明勾股定理,我们首先证明SAS。
由几何直观可得:如果两个三角形有两组对应边和这两组边所夹的角相等,则两三角形全等。
证毕。
好吧,SAS是一个公理(依据人类理性的不证自明的基本事实<来自百度百科>)。
下面是欧几里得对于勾股定理的证明。
- 设 △ A B C {\displaystyle \triangle ABC} △ABC 为一直角三角形,其直角为 ∠ C A B {\displaystyle \angle CAB} ∠CAB 。
- 其边为 B C ‾ {\displaystyle {\overline {BC}}} BC、 A B ‾ {\displaystyle {\overline {AB}}} AB、和 C A ‾ {\displaystyle {\overline {CA}}} CA,依序绘成四方形 C B D E {\displaystyle CBDE} CBDE、 B A G F {\displaystyle BAGF} BAGF 和 A C I H {\displaystyle ACIH} ACIH。
- 画出过点 A {\displaystyle A} A 之 B D ‾ {\displaystyle {\overline {BD}}} BD、 C E ‾ {\displaystyle {\overline {CE}}} CE的平行线。此线将分别与 B C ‾ {\displaystyle {\overline {BC}}} BC 和 D E ‾ {\displaystyle {\overline {DE}}} DE 直角相交于 K {\displaystyle K} K、 L {\displaystyle L} L。
- 分别连接 C F ‾ {\displaystyle {\overline {CF}}} CF、 A D ‾ {\displaystyle {\overline {AD}}} AD,形成两个三角形 B C F {\displaystyle BCF} BCF、 B D A {\displaystyle BDA} BDA。
- ∠ C A B {\displaystyle \angle CAB} ∠CAB 和 ∠ B A G {\displaystyle \angle BAG} ∠BAG 都是直角,因此 C {\displaystyle C} C、 A {\displaystyle A} A 和 G {\displaystyle G} G都是共线的,同理可证 B {\displaystyle B} B、 A {\displaystyle A} A 和 H {\displaystyle H} H共线。
- ∠ C B D {\displaystyle \angle CBD} ∠CBD 和 ∠ F B A {\displaystyle \angle FBA} ∠FBA 皆为直角,所以 ∠ A B D {\displaystyle \angle ABD} ∠ABD 相等于 ∠ F B C {\displaystyle \angle FBC} ∠FBC。
- 因为 A B ‾ {\displaystyle {\overline {AB}}} AB 和 B D ‾ {\displaystyle {\overline {BD}}} BD 分别等于 F B ‾ {\displaystyle {\overline {FB}}} FB 和 B C ‾ {\displaystyle {\overline {BC}}} BC,所以 △ A B D {\displaystyle \triangle ABD} △ABD 必须全等于 △ F B C {\displaystyle \triangle FBC} △FBC。
- 因为 A {\displaystyle A} A 与 K {\displaystyle K} K 和 L {\displaystyle L} L 在同一直线上,所以四方形 B D L K {\displaystyle BDLK} BDLK 必须二倍面积于 △ A B D {\displaystyle \triangle ABD} △ABD。
- 因为 C {\displaystyle C} C、 A {\displaystyle A} A 和 G {\displaystyle G} G 在同一直线上,所以正方形 B A G F {\displaystyle BAGF} BAGF 必须二倍面积于 △ F B C {\displaystyle \triangle FBC} △FBC。
- 因此四边形 B D L K {\displaystyle BDLK} BDLK 必须和 B A G F {\displaystyle BAGF} BAGF 有相同的面积= A B ‾ 2 {\displaystyle {\overline {AB}}^{2}} AB2。
- 同理可证,四边形 C K L E {\displaystyle CKLE} CKLE 必须有相同的面积 A C I H = A C ‾ 2 {\displaystyle ACIH={\overline {AC}}^{2}} ACIH=AC2。
- 把这两个结果相加, A B ‾ 2 + A C ‾ 2 = B D ‾ × B K ‾ + K L ‾ × K C ‾ {\displaystyle {\overline {AB}}^{2}+{\overline {AC}}^{2}={\overline {BD}}\times {\overline {BK}}+{\overline {KL}}\times {\overline {KC}}} AB2+AC2=BD×BK+KL×KC
- 由于 B D ‾ = K L ‾ B D ‾ = K L ‾ , B D ‾ × B K ‾ + K L ‾ × K C ‾ = B D ‾ ( B K ‾ + K C ‾ ) = B D ‾ × B C ‾ {\displaystyle {\overline {BD}}={\overline {KL}}}{\displaystyle {\overline {BD}}={\overline {KL}}},{\displaystyle {\overline {BD}}\times {\overline {BK}}+{\overline {KL}}\times {\overline {KC}}={\overline {BD}}\left({\overline {BK}}+{\overline {KC}}\right)={\overline {BD}}\times {\overline {BC}}} BD=KLBD=KL,BD×BK+KL×KC=BD(BK+KC)=BD×BC
- 由于 C B D E {\displaystyle CBDE} CBDE 是个正方形,因此 A B ‾ 2 + A C ‾ 2 = B C ‾ 2 A B ‾ 2 + A C ‾ 2 = B C ‾ 2 {\displaystyle {\overline {AB}}^{2}+{\overline {AC}}^{2}={\overline {BC}}^{2}}{\displaystyle {\overline {AB}}^{2}+{\overline {AC}}^{2}={\overline {BC}}^{2}} AB2+AC2=BC2AB2+AC2=BC2。
欧几里得(希腊语:Ευκλειδης,古希腊语:Εὐκλείδης,前325年-前265年),有时被称为亚历山大里亚的欧几里得,以便区别于墨伽拉的欧几里得。希腊化时代的数学家,被称为**“几何学之父”。他活跃于托勒密一世时期的亚历山大里亚,也是亚历山太学派的成员。他在著作《几何原本》**中提出五大公设,成为欧洲数学的基础。欧几里得也写过一些关于透视、圆锥曲线、球面几何学及数论的作品。欧几里得几何被广泛的认为是数学领域的经典之作。
图形重新排列证法
此证明以图形重新排列证明。两个大正方形的面积皆为 ( a + b ) 2 {\displaystyle (a+b)^{2}} (a+b)2。把四个相等的三角形移除后,左方余下面积为 a 2 + b 2 {\displaystyle a^{2}+b^{2}} a2+b2,右方余下面积为 c 2 {\displaystyle c^{2}} c2,两者相等。证毕。
总统证法
证明: ∵ S 梯形 A B C D = 1 2 ( a + b ) 2 = 1 2 ( a 2 + 2 a b + b 2 ) \text{∵}S_{\text {梯形}ABCD} = \frac {1} {2} (a + b)^2 = \frac {1} {2} (a^2 + 2ab + b^2) ∵S梯形ABCD=21(a+b)2=21(a2+2ab+b2)
又 ∵ S 梯形 A B C D = S △ A E D + S △ E B C + S △ D E C = 1 2 a b + 1 2 b a + 1 2 c = 1 2 ( 2 a b + c 2 ) \text{∵}S_{\text {梯形}ABCD} = S_{\text{△}AED} + S_{\text{△}EBC} + S_{\text{△}DEC} = \frac {1} {2}ab + \frac {1} {2}ba + \frac {1} {2}c = \frac {1} {2}(2ab + c^2) ∵S梯形ABCD=S△AED+S△EBC+S△DEC=21ab+21ba+21c=21(2ab+c2)
∴ c 2 = a 2 + b 2 \text {∴}c^2 = a^2 + b^2 ∴c2=a2+b2
证毕。
詹姆斯·艾伯拉姆·伽菲尔德(英语:James Abram Garfield,1831年11月19日—1881年9月19日),美国政治家、数学家,生于俄亥俄州。美国共和党人。南北战争期间加入北方军队,与南方奴隶制军队作战,拥有少将军衔。1880年加菲尔德当选为第20任总统,他是美国首位具有神职人员身份的总统。就职仅4个月即遭暗杀,是美国第二位被暗杀的总统。他在数学方面的贡献主要是在勾股定理的证明方面的新成就,他也是美国历史上唯一一位数学家出身的总统。他的第一夫人是卢克丽霞·鲁道夫,育有五子二女。
代码
相信你们看完了以上的证明已经对勾股定理有了初步的了解。那么,现在我们就可以开始写代码了:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
if (i * i + j * j == n * n) {
cout << i << ' ' << j << endl;
return 0;
}
}
这份已经是AC的代码了,如果让它运行得更快一点的话,可以稍稍地做一点优化。
为了让 a a a,也就是 i i i 最小, a a a 肯定小于 b b b。所以可以让 j j j 从 i i i 开始循环。代码如下:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
if (i * i + j * j == n * n) {
cout << i << ' ' << j << endl;
return 0;
}
}
第一份代码运行了121ms,第二份运行了113ms。所以,我们要想办法优化自己的程序,使自己的程序加快不到10ms。
评价
此题涉及如此多的数学知识,建议至少评蓝。