/ 알고리즘

소인수분해

알고리즘 소인수분해
https://4am.kr/-ec-86-8c-ec-9d-b8-ec-88-98-eb-b6-84-ed-95-b4/

프로그램 명: decomp(open)

제한시간: 1 초
자연수 n 이 입력으로 주어진다. 이 수를 소인수 분해하는 프로그램을 작성하시오.

입력

n 은 2 이상 1 000 000 000 이하의 자연수이다.

출력

소인수를 크기 순으로 공백을 사이에 두고 한 줄에 출력한다.

입출력 예

입력 
20 
출력 
2 2 5 
입력 
7 
출력 
7

나의 풀이

#include <iostream>
using namespace std;
int main()
{
    int n, i = 2;
    cin >> n;
    while (n >= i * i) {
        if (n % i == 0) {
            n /= i;
            cout << i << " ";
        }
        else
            i++;
    }
    cout << n << endl;
    return 0;
}