본문 바로가기
카테고리 없음

백준알고리즘:p4153 직각삼각형

by socialcomputer 2021. 4. 1.
반응형

분류: 기본수학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

 

반응형

댓글