蓝桥杯官网算法赛(蓝桥小课堂)
问题描述
蓝桥小课堂开课啦!
海伦公式(Heron's formula),也称为海伦-秦九韶公式,是用于计算三角形面积的一种公式,它可以通过三条边的长度来确定三角形的面积,而无需知道三角形的高度。
海伦公式的形式如下:
假设三角形的三条边长度分别为 a、 b 和 c,半周长(即三边之和的一半)为 s,那么三角形的面积 A 可以通过以下公式计算:
其中,√x 表示计算 x 的平方根。
海伦公式可以用于计算任意三角形的面积,无论三角形是锐角、直角还是钝角三角形。它的原理是基于三角形面积与三角形的边长之间的关系。
使用海伦公式计算三角形的面积时,需要确保三个边长满足构成三角形的条件,即任意两边之和大于第三边。否则,如果输入的边长不能构成一个三角形,海伦公式将无法计算有效的面积。
现在,学习完海伦公式后你需要接受小蓝的考验了。给定三条边 a,b,c,假设这三边组成的三角形面积为 S,请你回答 S^2的值是多少。
若 a,b,c 无法围成三角形则输出 -1。
输入格式
输入一行三个整数 a,b,c 表示三条边。
输出格式
输出一个整数表示答案。
样例输入
3 4 5样例输出
36
评测数据范围
1≤a,b,c≤300。
保证 (a+b+c) 为偶数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a=scan.nextInt();
int b=scan.nextInt();
int c=scan.nextInt();
if(check1(a,b,c)){
int s=(a+b+c)/2;
int A=s*(s-a)*(s-b)*(s-c);
System.out.println(A);
}
else{
System.out.println(-1);
}
scan.close();
}
public static boolean check1(int a,int b,int c){
if(a+b<=c){
return false;
}
else if(a+c<=b){
return false;
}
else if(b+c<=a){
return false;
}
return true;
}
}