诺诺看到三角形,觉得很好玩。有等边三角形、直角三角形、等腰三角形……她最喜欢等边三角形,认为它是完美的,评价为“Perfect”;而直角三角形评价为“Very Good”,等腰三角形评价为“Good”,其他三角形评价为“Ordinary”。
输入格式:
有多组测试数据。每组测试数据第一行是正整数n(n<=20),表示有n组测试。每组测试输入三个正整数a,b,c(1<=a,b,c<=1000),表示三角形的三条边长,a,b,c之间以一个空格分隔。
输出格式:
对于每组测试数据,在一行上输出诺诺对该三角形的评价;若不是三角形,输出单词“Sorry”。引号不必输出。
输入样例:
3
3 4 5
1 1 1
1 2 1
输出样例:
Very Good
Perfect
Sorry
本题有一个容易忽略的点,就是存在一个特殊的等腰三角形即等边三角形,要在等边判断是多注意。
import java.util.Scanner;
class triangle{
int a;
int b;
int c;
public triangle(int a, int b, int c) {
super();
this.a = a;
this.b = b;
this.c = c;
}
}
public class Mian {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
triangle[] abc=new triangle[n];
for(int i=0;i<n;i++)
{
abc[i]=new triangle(sc.nextInt(),sc.nextInt(),sc.nextInt());
}
for(triangle s:abc) {
System.out.println(panduan(s));
}
sc.close();
}
static String panduan(triangle s)//判断三角形方法
{
String fal;
if(s.a+s.b>s.c&&s.a+s.c>s.b&&s.b+s.c>s.a)
{
if((s.a==s.b&&s.a!=s.c)||(s.a==s.c&&s.a!=s.b)||(s.b==s.c&&s.c!=s.a))
{
fal="Good";
}
else if((s.a*s.a==s.b*s.b+s.c*s.c)||(s.b*s.b==s.a*s.a+s.c*s.c)||(s.c*s.c==s.b*s.b+s.a*s.a))
{
fal="Very Good";
}
else if(s.a==s.b&&s.b==s.c)
{
fal="Perfect";
}
else
{
fal="Ordinary";
}
}
else
{
fal="Sorry";
}
return fal;
}
}