33.7 연습문제: 2와 7의 배수, 공배수 처리하기

다음 소스 코드를 완성하여 1부터 100까지의 숫자를 출력하면서 2의 배수일 때는 "Fizz", 7의 배수일 때는 "Buzz", 2와 7의 공배수일 때는 "FizzBuzz"가 출력되게 만드세요.

practice_fizzbuzz_2_7.c

#include <stdio.h>
 
int main()
{
    for (int i = 1; i <= 100; i++)
    {
        if (_________________________)
            printf("FizzBuzz\n");
        else if (__________)
            printf("Fizz\n");
        else if (__________)
            printf("Buzz\n");
        else
            printf("%d\n", i);
    }
    return 0;
}

실행 결과

... (생략)
95
Fizz
97
FizzBuzz
99
Fizz

정답

 i % 2 == 0 && i % 7 == 0
 i % 2 == 0
 i % 7 == 0

해설

2의 배수는 i를 2로 나눴을 때 0이 나오면 되므로 i % 2 == 0과 같이 작성하면 되고, 7의 배수는 i를 7로 나눴을 때 0이 나오면 되므로 i % 7 == 0과 같이 작성하면 됩니다.

2와 7의 공배수는 i % 2 == 0 && i % 7 == 0과 같이 논리 연산자 &&로 구해도 되고, 2와 7의 최소공배수인 14를 직접 사용하여 i % 14 == 0와 같이 구해도 됩니다.