設等邊三角形三個頂點座標 (0,0) (a,b) (c,d)
三邊相等得 l = a^2 + b^2 = c^2 + d^2 = (a-b)^2 + (c-d)^2
= a^2 + b^2 + c^2 + d^2 - 2ac - 2bd
化解可得 l=2ac+2bd
設 (a,b,c,d)的最大公約數為b
a'=a/b b'=b/b c'=c/b
(1)那麼(a',b',c',d')最大公約數為 1 (a',b',c',d'中必有奇數)
(2)有l' = a'^2 + b'^2 = c'^2 + d'^2 = (a'-b')^2 + (c'-d')^2
= a'^2 + b'^2 + c'^2 + d'^2 - 2a'c' - 2b'd' = 2(ac+bd)
則l'必為偶數
因為a'和b' ,c'和d'同奇偶,所以a',b',或c',d'為奇數;
(乙個奇數2x+1的平方,(2x+1)^2=4*x^2 + 4*x +1 被4除餘1)
所以 a'^2,b'^2或c'^2,d'^2 被4除餘1;
因為 l' = a'^2 + b'^2 = c'^2 + d'^2
所以 l'被4除餘2;
設 a' ,b'為奇數
1. c',d'也為奇數
那麼l'=(a'-b')^2 + (c'-d')^2 被4除餘0,矛盾排除;
2.c',d'為偶數
那麼l'=c'^2 + d'^2被4除餘0,矛盾排除;
綜上所述正三角形的三個頂點不能畫在格點上面(所有座標為整數)
for 迴圈列印直角三角形 正三角形 稜形
熟練掌握 for 迴圈的使用 1 需求 列印直角三角形 如下 左直角 for int i 0 i 5 i system.out.println 右直角 for int i 0 i 5 i for int j 0 j i j system.out.println 執行效果 process finish...
列印由 組成的正三角形
在mooc上覆習c的迴圈巢狀的時候,遇到一道題目,要列印這樣乙個圖形 這並不是一道很難的題目,如果不限定範圍。我會選擇用雙重的迴圈和if語句來寫,主要程式如下 for i 0 i 4 i printf n 上面其實相當於半個菱形公式,但在課程網上,對 限制嚴格,用了三個控制的變數i,j,k,總共用了...
1174 正三角形的外接圓面積
正三角形的外接圓面積 time limit 1000ms memory limit 65536k total submit 184 accepted 124 description 給你正三角形的邊長,pi 3.1415926 求正三角形的外接圓面積。input 只有一組測試資料 第一行輸入乙個整數...