본문 바로가기

CodeUp

[Code Up/C++] 코드업1212 c++ 삼각형의 성립 조건

반응형

https://codeup.kr/problem.php?id=1212&rid=0 

 

삼각형의 성립 조건

삼각형이 가능하면 "yes", 삼각형을 만들 수 없다면 "no"를 출력하시오.

codeup.kr

문제

세 개의 직선이 있다.

숫자의 의미는 직선의 길이를 말한다.

이 직선으로 삼각형을 만들 수 있는지 판단하는 프로그램을 작성하시오.

삼각형의 성립 조건)

a, b, c 가 변의 길이이고 c가 제일 긴 길이라고 한다면

c < a + b 이면 삼각형이 성립됨.

 

입력

직선의 길이 3개가 입력으로 주어진다.(정수)

 

출력

삼각형이 가능하면 "yes", 삼각형을 만들 수 없다면 "no"를 출력하시오.

 

입력 예시   

2 3 4

 

출력 예시

yes

 

풀이

a, b, c 세 개의 변 중에 가장 큰 변을 찾는다.

가장 큰 수가 나머지 합보다 작을 때 삼각형의 성립 조건이 된다.

a가 제일 큰 변일때,

b가 제일 큰 변일 때,

c가 제일 큰 변일 때를 if문으로 코드를 작성한다.

마지막으로 a, b, c가 모두 같을 때 정삼각형이 되기 때문에 이것도 코드를 작성한다.

 

코드

#include <iostream>
 
using namespace std;
 
int main() {
 
    int a,b,c;
    cin>>a>>b>>c;
 
    if(a>b&&a>c){ // a가 제일 클때
        if(a<b+c){
            cout<<"yes";
        }
        else cout<<"no";
    }
 
    else if(b>a&&b>c){ // b가 제일 클 때
        if(b<a+c){
            cout<<"yes";
        }
        else cout<<"no";
    }
 
    else if(c>a&&c>b){ // c가 제일 클 때
        if(c<a+b){
            cout<<"yes";
        }
        else cout<<"no";
    }
 
    if(a==b&&a==c&&b==c){ // 정삼각형일때
        cout<<"yes";
    }
 
    
    
}
cs

 

 

반응형