螞蟻的難題(X)
螞蟻又遇到一個難題。
有一個圓錐,地面半徑為A(單位:cm),高度為H(單位:cm),現在螞蟻位於其中一條母線R與底面的交點P處,母線R的中點M有一袋旺仔小饅頭,餓極了的螞蟻非常想吃,而且,母線R的正對面有另一條母線L(位置如圖所示),上面布滿了香槟,思量之後螞蟻決定先取香槟,再拿小饅頭,最後回到P點。但是,問題來了,笨笨的螞蟻不知道要怎麼走了,因為懶惰的螞蟻肯定想最省體力,現在請你來寫個程序,幫助他找到其中走的最短距離是多少。
Ps:香槟得到一次即可。得到母線L、點M對應物品的方式為到達或經過。母線L兩端點處也有香槟。
(PI=3.1415926)
1 23 41000 1000
4.4310.002828.43
ACM_安鵬程
數學問題:
注意圓錐角度可以》=180
#include#include #include #include #include using namespace std; #define PI 3.1415926 int main() { double A,H,sum,c,dis,d; while(~scanf("%lf%lf",&A,&H)) { d=sqrt(A*A+H*H);//muxian c=A/d*2*PI;//角度 sum=sqrt(d*d*5/4-d*d*cos(A/d*2*PI))+d/2;//三角函數c*c=a*a+b*b-2a*b*cos(c); dis=2*d; if(c>=PI) printf("%.2lf\n",dis); else printf("%.2lf\n",sum); } }