백준[11653] - 소인수분해

문제

백준 11653 문제 보기

접근 방법

입력된 숫자를 2부터 시작하여 i*i가 입력된 수보다 작거나 같을 때까지 나눈다.

코드

#include <iostream>

using namespace std;

int N;

int main() {

    cin >> N;

    for(int i = 2; i*i <= N; i ++) {
        while(N%i == 0) {
            cout << i << endl;
            N /= i;
        }
    }

    if(N > 1)
        cout << N << endl;

    return 0;
}
Share