본문 바로가기
[C++] 알고리즘 교육/5. 기본정렬

[알고리즘 5.3.13] 기본정렬 - pfactorization

by 안산학생 2019. 4. 25.

문제


정수 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;
}

댓글