2021-02-08
문제
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
Source Code
import java.util.Scanner;
public class TemplateA {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int [] arr = new int [3];
loop : while(true) {
int max = 0;
int location = 0;
for(int i = 0; i < 3; i++) {
arr[i] = scan.nextInt();
if(max < arr[i]) {
max = arr[i]; // 3변중 가장 큰 변 체크
location = i; // 해당 배열 위치 저장
}
}
if(max == 0) {break loop;}
// max가 0이면 모든 값이 0이기 때문에 루프종료
int sum = 0; // 작은 두변 제곱을 넣을 변수
for(int i = 0; i < 3; i++) {
if(i != location) {
sum += (int) Math.pow(arr[i], 2);
// 작은변들의 제곱을 더해줌
}
}
if(Math.pow(max, 2) == sum) {
// 가장 긴변의 제곱이 작은 변의 제곱의 합과 같은지 체크
System.out.println("right");
}else {
System.out.println("wrong");
}
}
}
}
출처링크 : www.acmicpc.net/problem/4153