题目描述
绯红女巫拥有两种能力,一种是混沌魔法,另一种是修改概率的变种能力,这两种魔法的混合使用可以达到修改现实的效果。一天,美国队长给绯红女巫布置了作战计划,这个作战计划需要使用混沌魔法和修改概率这两种能力,然而混沌魔法能力在与灭霸的战斗中被灭霸封印了。现在他需要找到破解的办法来破解灭霸的封印。然后找到了奇异博士,奇异博士用时间宝石找到了破解封印的办法。
破解封印的方法:奇异博士给了绯红女巫a,b,ca,b,c三个数,需要绯红女巫去判断a,b,ca,b,c三个数能不能构成三角形,并且需要判断是否构成了等腰三角形或者等边三角形,如果不构成则是普通三角形,但是普通三角形也有特殊的三角形,普通三角形里存在着直角三角形(注意:是在普通三角形里判断存不存在)。如果绯红女巫能够准确的判断出来,灭霸的封印即可解除。
依靠绯红女巫一个人是无法完成的,现在她需要你的帮助,你能帮助她吗?
输入描述
输入数据有多组。
输入三个数a,b,c,输入的三个数均在intint范围以内。判断能构成什么三角形。
输出描述
每组输出占一行。
如果输入的三个数字不能组成三角形,请输出 No;
如果该三角形是等腰三角形,请输出 Isosceles triangle;
如果该三角形是直角三角形,请输出 Right triangle;
如果该三角形是等腰直角三角形,请输出 Isosceles right triangle;
如果该三角形是等边三角形,请输出 Equilateral triangle;
如果该三角形是普通三角形,请输出 Triangle;
样例输入 1
1 2 3
3 4 5
2 2 3
样例输出 1
No
Right triangle
Isosceles triangle
思路:
细心的处理判断
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner read = new Scanner(System.in);
int[] num = new int[3];
BigInteger zero;
BigInteger one;
BigInteger two;
while(read.hasNext())
{
num[0] = read.nextInt();
num[1] = read.nextInt();
num[2] = read.nextInt();
Arrays.sort(num);
if(num[0]+num[1]<=num[2])//不是三角形
{
System.out.println("No");
}
else
{
if(num[0]*num[0]+num[1]*num[1] == num[2]*num[2])//直角
{
if(num[0]==num[1] || num[1]==num[2])//等腰
System.out.println("Isosceles right triangle");
else
System.out.println("Right triangle");
}
else
{
if(num[0]==num[1] || num[1]==num[2])//等腰
{
if(num[1] == num[2] && num[0]==num[1])//等边
System.out.println("Equilateral triangle");
else
System.out.println("Isosceles triangle");
}
else
{
System.out.println("Triangle");
}
}
}
}
read.close();
}
}