BOJ

[백준 5217번] 쌍의 합

lotus lee 2024. 3. 22. 14:10

 

난이도 '하' 수준의 쉬운 문제이다.

 

자연수 n이 주어졌을 때, n이 짝수인지 홀수인지에 따라서 반복문 조건식에 들어가는 수 m을 다르게 한다.

n이 짝수이면(예를 들어 6) 6을 2로 나눈 몫 3은 for문에 포함시키지 않는다.

n이 홀수이면(예를 들어 5) 5를 2로 나눈 몫 2는 for문에 포함시킨다.

 

변수 m은 삼항연산자를 이용하여 정의하였다. -> m = (n%2 == 0 ? n/2 : n/2+1);

 

#include <stdio.h>
int main(void){
    
    int t,n;
    
    scanf("%d",&t);
    
    for(int i=0;i<t;i++)
    {
        scanf("%d",&n);
        printf("Pairs for %d: ",n);
        
        int m = (n%2 == 0 ? n/2 : n/2+1);
        
        for(int j=1;j<m;j++)
        {
            printf("%d %d",j,(n-j));
            
            if(j!=(m-1))
            {
                printf(", ");
            }
        }
        printf("\n");
    }
}