題目描述
一個三角形的三邊長分別是 a a a、 b b b、 c c c,那么它的面積為 p ( p ? a ) ( p ? b ) ( p ? c ) \sqrt{p(p-a)(p-b)(p-c)} p(p?a)(p?b)(p?c)?,其中 p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c) p=21?(a+b+c)。輸入這三個數字,計算三角形的面積,四舍五入精確到 1 1 1 位小數。
輸入格式
第一行輸入三個實數 a , b , c a,b,c a,b,c,以空格隔開。
輸出格式
輸出一個實數,表示三角形面積。精確到小數點后 1 1 1 位。
輸入輸出樣例
輸入
3 4 5
輸出
6.0
說明/提示
數據保證能構成三角形, 0 ≤ a , b , c ≤ 1000 0\leq a,b,c\leq 1000 0≤a,b,c≤1000,每個邊長輸入時不超過 2 2 2 位小數。
方式-計算
代碼
class Solution:@staticmethoddef oi_input():"""從標準輸入讀取數據"""num1, num2, num3 = map(float, input().split())return num1, num2, num3@staticmethoddef oi_test():"""提供測試數據"""return 3, 4, 5@staticmethoddef solution(num1, num2, num3):num_p = (num1 + num2 + num3) / 2print(f'{(num_p * (num_p - num1) * (num_p - num2) * (num_p - num3)) ** 0.5:.1f}')oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solutionif __name__ == '__main__':num1, num2, num3 = oi_test()# num1, num2, num3 = oi_input()solution(num1, num2, num3)