반응형
분류: 기본수학2
▶문제
▶코드
//백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨
package math_2;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class p4153 {
//세 변을 입력받고, 직각삼각형 이면 right 아니면 wrong
public static void main(String[] args) {
try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));){
while(true) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
if(a==0 && b==0 && c==0) break; // 0 0 0 입력되면 종료
int temp;
if(a>c) {temp=c; c=a; a=temp;}
temp=c;
if(b>c) {temp=c; c=b; b=temp;}
//c가 젤 큰 수로 만들기.
if(c*c==a*a+b*b) bw.write("right"+"\n");
else bw.write("wrong"+"\n");
}
}catch(Exception e) {e.printStackTrace();}
}
public static void swap(int x, int y) {
int temp =x;
if(x<y) { x=y; y=temp;}
}
}
▶젤 큰값이 무엇인지 알아야 될 뿐만 아니라 제일 큰 수가 무엇인지도 알아야 했다.
그래서 제일 큰 값을 c로 바꾸는 코드를 짰고,
메소드로 하려다가 if문으로 해결했다.
직각삼각형의 세 변 a, b, c (c가 가장 큼)는 c^2 = a^2 + b^2 이다.
채점결과
링크 www.acmicpc.net/problem/4153
4153번: 직각삼각형
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
www.acmicpc.net
반응형
댓글