poj 1927 Area in Triangle

poj 1927 Area in Triangle,第1张

poj 1927 Area in Triangle
#include<iostream>#include<cmath>#include<cstdio>using namespace std;const double PI=acos(-1.0);int main(){double a,b,c,L;int cout=1;while(cin>>a>>b>>c>>L){if(a==0&&b==0&&c==0&&L==0)break;double p=(a+b+c)/2.0;//海伦公式中的参量p。double S=sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式求面积。double R=S/p;//内切圆半径=2*s/(a+b+c);if(L>=a+b+c)printf("Case %d: %.2lfn",cout++,S);//比三角形周长还长,则最大围住三角形的区域。else if(L<=PI*R*2)printf("Case %d: %.2lfn",cout++,L*L/(4*PI));//比三角形的内切圆区域小,则最大区域为绳子围成的圆。else{double r=R*(2*p-L)/(2*p-2*PI*R);//l/(2*P)=r/R,l=2*P-L+2*PI*r,小三角形周长=大三角形周长减去绳长,但多减了小三角形的内切圆的周长,故加上。double s=(r/R)*(r/R)*S;printf("Case %d: %.2lfn",cout++,S-s+PI*r*r);}}return 0;}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4921157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存