이럴 때 나머지 연산을 사용하자. 0123401234012… [언제나 C언어]

안녕하세요. 언제나 휴일에 언휴예요.

이번에는 나머지 연산을 사용하여 문제를 해결하는 대표적인 예를 알아볼게요.

프로그램을 작성하다보면 0123401234012… 처럼 특정 범위 내의 수를 순환하며 사용할 때가 발생합니다.

원형 큐에서 front와 rear를 이동시킬 때는 대표적인 예로 들 수 있어요.

원형 큐

다음처럼 코드를 작성하여 실행시켜 보면 어떻게 동작하는지 느낌이 오실 거예요.

/* https://ehpub.co.kr
   언제나 C언어
   나머지 연산, 이럴 때 사용하자. 
   0123401234012...
*/
#include //표준 라이브러리 헤더
#include //표준 입출력 헤더

int main()
{    
    int i = 0;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    i = (i + 1) % 5;
    printf("%d\n", i);
    system("pause");
    return 0;
}

실행 결과는 다음과 같습니다.

0
1
2
3
4
0
1
2
3
4
0
1
2
3
4