Algorithm/구현, 시뮬레이션
[BAEKJOON] 5073번 삼각형과 세 변
Ls._.Rain
2024. 3. 18. 16:14
https://www.acmicpc.net/problem/5073
5073번: 삼각형과 세 변
각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오.
www.acmicpc.net
수학을 한지 꽤 오래되어서 삼각형의 조건을 만족하지 못하는 경우,,,? 를 몰라서 엄청 당황했다.
두변의 길이의 합이 나머지 한변의 길이보다 커야 삼각형이 된다.
나 중학교 나왔는데,,,
조건이 너무 많아서 구현하는데 헷갈렸다. 그리고 이 문제는 if문과 else-if문이 어디서 걸리는지 잘 판단 해야 한다.
아니면 while문 안에서 무한루프등에 빠질 수 있으니,, 특히 종료조건으로 if문은 따로! 빼줘야한다
#include <iostream>
using namespace std;
int main(){
while (1) {
int n1, n2, n3;
cin >> n1 >> n2 >> n3;
if (n1 == 0 && n2 == 0 && n3 == 0) return 0;
if (n1 + n2 <= n3 || n2 + n3 <= n1 || n1 + n3 <= n2) cout << "Invalid" << '\n';
else if (n1 == n2 && n2 == n3) cout << "Equilateral" << '\n';
else if (n1 == n2 || n2 == n3 || n1 == n3) cout << "Isosceles" << '\n';
else if (n1 != n2 && n2 != n3 && n1 != n3) cout << "Scalene" << '\n';
}
}