본문 바로가기

IT프로그래밍

[알고리즘]C언어 약수 구하기 / C 약수 구하기 / C 약수 알고리즘(간단버전)

안녕하세요!

 

이번 포스팅에서는 C언어로 약수를 구하는 알고리즘을 구현할건데요

 

버전이 2가지 입니다.

 

이 포스팅은 C언어로 약수를 구하는 간단 버전입니다 ㅎㅎ

 

참고로 아주아주 쉬워요

 

다들 아시겠지만 개념을 조금 설명하자면

 

약수란, 해당 숫자를 나눌 수 있는 수로

 

5의 약수 : 1, 5

10의 약수 : 1, 2, 5, 10

100의 약수 : 1, 2, 4, 5, 10, 20, 25, 50, 100

 

이런 숫자들이 약수지요 !

 

전체 소스먼저 보시죠!!



복붙 필요하신 분은 ↓↓↓텍스트 파일 다운 후에 복붙하세요

manniz_algo_002_1.txt


 

소스를 전체적으로 설명해드리면

1. 숫자를 입력받는다.

2. 1부터 입력받은 숫자까지 반복문을 실행.

3. 반복문 안에서 [입력받은수 % i]를 수행하며, 값이 0이 나오면 약수라고 판단, 출력한다.

※ C언어에서 %연산은 모듈러 연산이라고 부르며, 나머지 값을 반환합니다. ex) 5%2 = 1, 4%2 = 0, 15%4 = 3

 

이게 끝이예요 ㅋㅋㅋ 너무 간단하죠?

결과 확인해봅시다!

 

10의 약수

 

 

 

 

79의 약수


 

음 그냥 쳤는데 소수가 나왔네요 ㅋㅋ

 

 

100의 약수


 

 

 

12648765의 약수


 

 

 

이 코드의 문제점은 느리다는겁니다 ㅋㅋㅋ

만약 10만의 약수를 구한다고 하면, for문을 10만번 돌아야 하니까요

 

 

 

다음 포스팅에서는 c언어 약수 구현에서 어떻게 속도를 높일 수 있을지 얘기해볼께요 !ㅋ

고생하셨습니다.

c언어 약수 소스 필요하신분은 

↓↓↓↓↓↓받아가세요~

manniz_algo_002_1.c


이 포스팅은 요기랑 http://manniz.blog.me에 같이 올라가요 ~