일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 침해사고대응
- crack
- Multimedia
- Android
- 모바일프로그래밍
- Frida
- K-sheild Jr
- 케쉴주
- tar
- Autoware
- disk
- Reversing
- 써니나타스
- 포렌식
- John the ripper
- 리버싱핵심원리
- 파일해시생성
- swing
- 안티디버깅
- K-shield Jr 10기
- CodeEngn
- shadow
- SW에듀서포터즈
- Interceptor
- 디스크
- ZIP
- upx
- ctf-d
- Mobile
Archives
- Today
- Total
물먹는산세베리아
[BOJ] 4153번: 직사각형 C++ 본문
문제
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
입력, 출력 예제
풀이
x^2 + y^2 = z^ 공식을 활용했다.
<cmath>에서 pow함수를 사용하고 입력받은 변수에 다시 저장 후 x, y, z 각각 가장 큰 수 일 때 저 공식을 만족하면 "right"를 출력하도록 한다.
코드
#include <iostream>
using namespace std;
#include <cmath>
int main() {
int a, b, c;
int max;
while(1){
cin >> a >> b >> c;
if (a == 0 && b == 0 && c == 0)break;
a = pow(a, 2);
b = pow(b, 2);
c = pow(c, 2);
if (a + b == c || b + c == a || c + a == b)cout << "right"<<endl;
else cout << "wrong"<<endl;
}
}
마무리
간단하긴 한데 저렇게 풀면 좋은 점수는 못 받지 않을까..
오름차순 정렬하고 그 상태에서 공식 쓰고 싶었는데(sort) 간단한 문제라 일단 저렇게 짬
매번 저렇게 변수 선언하는 거 말고 백터 많이 써야징 입력받을 때 vector push_back() 쓰는 것도 해봐야겠음
'Algorithm > 백준' 카테고리의 다른 글
[BOJ] 1085번: 직사각형에서 탈출 (0) | 2021.02.23 |
---|---|
[BOJ]1193번: 분수찾기 (0) | 2021.02.15 |
[BOJ] 2775번: 부녀회장이 될테야 (0) | 2021.02.14 |