본문 바로가기

IT프로그래밍

c언어 약수 출력 / c언어 약수 소스 / c언어 약수 알고리즘

c언어 약수를 구하는 소스


#include <stdio.h>

 

/*

        약수를 구하는 프로그램

*/

main()

{

       

        int num;

        printf("약수를 구하고 싶은 수를 입력하세요 : ");

        scanf_s("%d", &num);          //구하고 싶은 입력

 

        printf("%d 약수 : ", num);

        for (int i = 1; i <= num; i++) {

               if (num%i == 0) {             //1부터 num까지 mod 통해서 값이 0 나옴 = 나누어짐,

                       printf("%d ", i);      //나누어진다면 나눈 출력

               }

        }

        printf("\n");

}


c언어 약수 출력 결과



c언어 약수 출력 알고리즘

숫자를 하나 입력받으면, 1부터 입력받은 숫자까지 모든 수로 모듈러연산(%)을 수행합니다.

※ 모듈러연산 = 나눗셈의 나머지를 구하는 연산

ex) 10%3 = 1

10%7 = 3


모듈러 연산의 결과가 0이라면 그 값은 나누어 떨어지는 값이기 때문에

그럴때마다 화면에 출력하도록 합니다.


검증은 직접 모든 약수를 구하여도 되고, 약수의 숫자를 계산(제곱승+1 끼리의 곱)하여 가능합니다.


이상 c언어로 약수를 구하는 포스팅을 마치겠습니다.

궁금하신건 댓글 남겨주시면 답해드립니당