看書的時候看到乙個問題:給定乙個銳角三角形,畫出其內接正方形
已知:給定三角形
條件:正方形且4個點pa pb pc pd都在三角形abc上,假設點pa在邊ab,pb,pc在邊bc,pd在邊ac
思路:假設第四個點不在邊f上,會發生什麼?
會發現這個正方形不固定!因為條件不夠
但是把多個正方形畫出來就發現,點pd的軌跡居然在一條線上!
而這條線目測是角平分線,至此,作圖的問題解決,軌跡如下圖
對於鈍角三角形呢?很遺憾,此時的軌跡不是角平分線了,如下圖。
顯然:乙個鈍角三角形只有乙個內接正方形,且正方形的兩個點在最長邊,很好奇這條線是什麼線???
順便就想到問題2了。
問題2,:該正方形邊長怎麼求?設邊長為x ,|a pa|為y
思路:畫出該內接正方形
首先papd平行bc,相似:x/a=y/c
設bc邊高為h,相似:x/h=(c-y)/c
解得x=ha/(a+h)
問題3:給定乙個銳角三角形,求其內部的最大正方形的面積?(不一定內接)
思路:考慮貪心
貪心:如果最大面積正方形abcd只有兩個點在三角形邊上,那麼該正方形肯定能擴充套件其邊長,直到第三個點也在三角形邊上
由於此時正方形第四個頂點在角平分線上
可以看到,邊長x變化的範圍是0~ah/(a+h)
現在是兩個頂點在邊bc上,還要比較其他兩條邊為底的情況
初步結論:銳角三角形內最大面積是三個內接正方形面積取最大
對於鈍角三角形呢,內部最大正方形面積就是內接正方形嗎?
不對,比如下圖,3個點的貪心不一定比4個點的貪心差
發現乙個鈍角三角形的內部最大面積正方形的正解:
三角形問題
問題及 檔名稱 main.cpp 作 者 李磊濤 版 本 號 v1.0 問題描述 輸出三角形的周長和面積。輸入描述 無。程式輸出 輸出三角形的周長和面積。include includeusing namespace std class void setabc double x,double y,do...
關於螺旋三角形和螺旋正方形的輸出表示
今天遇到了輸出順時針輸出螺旋三角形的問題,花了點時間寫了一下。於是,又想到了逆時針輸出的情況,最後又想試著輸出正方形的順時針和逆時針 10 1 2 3 4 5 6 7 8 9 10 27 28 29 30 31 32 33 34 11 26 45 46 47 48 49 35 12 25 44 54...
經典演算法 (三)帕斯卡三角形(楊輝三角形)
楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在1654年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。簡介 楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在165...