coding_test/BAEKJOON

백준 4892번 C언어 풀이

CodeJin 2021. 10. 7. 03:05

https://www.acmicpc.net/problem/4892

 

4892번: 숫자 맞추기 게임

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n0으로 이루어져 있다. (0 < n0 < 1,000,000) 입력의 마지막 줄에는 0이 하나 주어진다.

www.acmicpc.net

얼핏 보면 n0부터 n4까지 구해야 하는 문제같지만, 그럴 필요가 없다는 것을 5번째 단계에서 알려준다.

 

n1의 경우 n0에 3을 곱하게 되는데, 짝수에 홀수를 곱하면 짝수이고 홀수에 홀수를 곱하면 홀수이므로 n1은 n0로 판단한다.

 

n4의 경우 n1의 홀.짝에 따라 값이 바뀐다고 하지만, 결국 n0을 2로 나눈 몫이 n4가 된다.

 

#include <stdio.h>

int main () {
    int n;
    int i = 0;
    while (1) {
        scanf("%d", &n);
        if (!n) break;
        printf("%d. %s %d", i++, n%2 ? "odd" : "even", n/2);
    }
    return 0;
}