2023-03-22

【ZeroJudge】d489. 伏林的三角地 解法分享

點擊前往題目👉d489

我的解法

#include <iostream>
using namespace std;

int main() {
int a,b,c,p;
double m;
cin>>a>>b>>c;
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
	m=0.5*(a+b+c);
	p=m*(m-a)*(m-b)*(m-c);
	cout<<p<<endl; 
	
}

else{
	cout<<endl;
}

	return 0;
}

解析

int a,b,c,p;
首先我們先設三邊長分別為a、b、c,並設三角形的面積為p
double m;
再來,為了確保接下來的運算足夠精確、精準,我們宣告一個double叫做m
然後就是運算的部分,
	m=0.5*(a+b+c);
	p=m*(m-a)*(m-b)*(m-c);
這邊運用到的是「海龍公式」,您可以透過我提供的連結查看詳情,結論如下:
我們宣告的m是半周長,也就是(a+b+c)/2(a+b+c為周長,(a+b+c)/2為半周長。半周長,顧名思義,是指周長/2的值),而三角形ABC的面積=sqrt(m*(m-a)*(m-b)*(m-c))。
根據題意,土地價值乃其面積的平方,故我們僅需輸出p(三角形面積的平方)即可。

沒有留言:

張貼留言

留言注意事項:

勾選「通知我」可在後續有回覆時寄信給您!

使用Safari恐無法登入留言(只能以匿名方式留言)!

敬請詳細描述問題,以方便站方迅速判斷與解答!

依據本站免責聲明,本站得逕行刪除含有不適合存在於本站的言論與字詞的發言,敬請謹慎留言!