Zerojudge 基礎題庫d489 伏林的三角地


這題在知道海龍公式時非常簡單,但不知道的人真的會燒掉~
因為他說平方後是整數,不代表沒平方時是整數。
像是 2 和 2^1/2
偏偏float無法表示無理數,所以用普通方法算出面積不是明智之舉。
所以提示只有一個:海龍公式!

s = (a+b+c) / 2
area^2 = s(s-a)(s-b)(s-c)

下面是程式碼:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include<iostream>

using namespace std;
int tri_area_power2(int a,int b,int c){
    int s = (a+b+c)/2;
    return s*(s-a)*(s-b)*(s-c);
}

int main(){
    int a,b,c;
    while(cin >> a >> b >> c){
        cout << tri_area_power2(a,b,c) << endl;
    }
    
}

留言

這個網誌中的熱門文章

Zerojudge 基礎題庫a004 文文的求婚 (Python)

紙蜻蜓的受風面積與紙蜻蜓落地時間的關係 #1 [實驗歷程與Python Matplotlib]

Zerojudge 基礎題庫a013 羅馬數字 (Python)