Q & A

어떤 수의 약수는 어떻게 구하나요?

배수는 나머지 연산자로 간단하게 구할 수 있었습니다.

int num1 = 10;

if (num1 % 5 == 0)
    printf("num1은 5의 배수입니다.\n");

실행 결과

num1은 5의 배수입니다.

마찬가지로 약수도 나머지 연산자로 구할 수 있습니다. 이때는 1부터 어떤 수까지 반복한 값으로 어떤 수를 나눴을 때 나머지가 0인 숫자를 찾으면 약수입니다.

int num1 = 9;

for (int i = 1; i <= num1; i++)    // 1부터 어떤 수까지 반복
{
    if (num1 % i == 0)             // 어떤 수를 i로 나누었을 때 나머지가 0이면 약수
        printf("%d는 num1의 약수입니다.\n", i);
}

실행 결과

1은(는) num1의 약수입니다.
3은(는) num1의 약수입니다.
9은(는) num1의 약수입니다.