题目描述
一个三角形的三边长分别是 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)