https://www.acmicpc.net/problem/11653

 

11653번: 소인수분해

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

www.acmicpc.net

 

 

 

 

문제

 

정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.

 

 

 

코드

 

#include <iostream>
using namespace std;

int main(void){
    int n;
    cin>>n; 

    for(int i = 2; i * i <= n ; i++){
        while(n % i == 0){
			cout<<i<<'\n';
            n /= i;
        }
    }

    if(n>1) cout<<n<<'\n';
}

 

에라토스테네스의 채를 사용해서도 풀이 가능

728x90

'알고리즘 > 백준' 카테고리의 다른 글

백준 1676번: 팩토리얼 0의 개수  (0) 2020.05.18
백준 10872번: 팩토리얼  (0) 2020.05.18
백준 6588번: 골드바흐의 추측  (0) 2020.05.18
백준 1929번: 소수 구하기  (0) 2020.05.18
백준 1978번: 소수 찾기  (0) 2020.05.18