#include <stdio.h>
/* 두 가지 모두 가능!
어차피 R의 값을 b에 할당하므로, R이 0이 되는 순간을 반복문의 기준으로 해도 거의 유사함
그러나, 초기 R값을 알아야 프로그램이 돌아가므로, while문 전에 R이 의미하는 값을 선언해 줘야함
또한, 밖에서 이미 한 번 나누고 들어가므로, 반복문이 돌아가는 횟수가 약간 다를 수 있음
반복문 돌아가는 횟수 직접 따져볼 것, 출력값도 b나 R이 아닌 0이 된 R값을 b에 할당하기 직전의
b값이 할당된 a가 출력되므로, 문제될 것이 없음 */

int main() {
    int a, b;
    int R;
    R = a % b;
    scanf("%d%d", &a, &b);

    while (R != 0) {
        R = a % b;
        a = b;
        b = R;
    }
    printf("%d", a);
    
    /* while (b != 0) {
        R = a % b;
        a = b;
        b = R;
    }
    printf("%d", a);
    return 0; */
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: