翹課的HugeGun_
時間限制:1000ms 內存限制:65536kb
題目描述
HugeGun學姐很喜歡翹課。不幸的是,這一次她被發現了。
老師讓她打掃了教室。當她把掃把靠在牆上時突然發現,由於燈光來自正上方,掃把與在牆面和地面的影子構成了一個直角三角形。
於是她想知道,對於一個直角三角形,給定斜邊的邊長和這個三角形的面積,如何計算直角邊的邊長。
睿智的你當然會幫助她。
輸入
第一行一個整數nn表示數據組數
接下來nn行,每行2個整數l,Sl,S分別表示斜邊長度和面積大小
輸出
輸出nn行
第ii行為第ii組數據的答案:
若不能找到直角邊長滿足條件,輸出hhhg
。
否則輸出兩個兩位小數a,ba,b表示直角邊長,其中需要滿足a<=ba<=b
輸入樣例
3
5 6
7 8
1 2
輸出樣例
3.00 4.00
2.44 6.56
hhhg
數據范圍
1≤l≤106
0≤S≤l2
【我的題解】
設三角形兩邊為a,b,斜邊為l;
S=1/2*a*b;
l2=a2+b2;
解方程得答案。
#include<stdio.h> #include<math.h> #include<string.h> int main(){ double a,b,l,s; double gen1,gen2; int n; scanf("%d",&n); while(n--){ scanf("%lf%lf",&l,&s); if(l*l<4*s) { printf("hhhg\n"); continue; } gen1=sqrt(l*l-4*s); gen2=sqrt(l*l+4*s); a=(gen2+gen1)/2; b=(gen2-gen1)/2; printf("%.2lf %.2lf\n",b,a); } return 0; }
感謝瀏覽!❤