문제:
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력:
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력:
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
제출:
import java.util.Arrays;
import java.util.Scanner;
public class Bj_4153 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] a = new int[3];
while(true) {
for (int i=0; i<a.length; i++) {
a[i] = sc.nextInt();
}
if (a[0]==0 && a[1]==0 && a[2]==0) {
break;
}
Arrays.sort(a);
if (a[0]*a[0] + a[1]*a[1] == a[2]*a[2]) {
System.out.println("right");
} else {
System.out.println("wrong");
}
}
sc.close();
}
}
숫자 3개를 입력받는데 어떤 숫자가 가장 큰 숫자 인지를 모르기 때문에 정수형 배열에 입력을 받아 Arrays.sort(a);
를 통해서 오름차순으로 정렬을 해놓고 피타고라스 정리 a2 + b2 = c2 에 맞춰서 식을 세워서 풀었다.