문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
소인수란 소수인 인수(약수)를 의미한다.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수를 한 줄에 하나씩 오름차순으로 출력한다..
예제 입력
72
예제 출력
2 2 2 3 3
예제 입력
3
예제 출력
3
예제 입력
6
예제 출력
2
3
예제 입력
9991
예제 출력
97
103
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <stdio.h>
int main() {
int su;
scanf("%d",&su);
while(1){
for(int i=2;i<=su;i++){
if(su%i==0){
su = su/i;
printf("%d\n",i);
break;
}
}
if(su==1){
break;
}
}
return 0;
}
|
'[C++] 알고리즘 교육 > 5. 기본정렬' 카테고리의 다른 글
[알고리즘 5.3.14] 기본정렬 - chebyshevtheo (0) | 2019.04.25 |
---|---|
[알고리즘 5.3.12] 기본정렬 - fmttalpha (0) | 2019.04.25 |
[알고리즘 5.3.11] 기본정렬 - findprime (0) | 2019.04.25 |
[알고리즘 5.3.10] 기본정렬 - fractionsum (0) | 2019.04.25 |
[알고리즘 5.3.9] 기본정렬 - streetree (0) | 2019.04.25 |
댓글