#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
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을 소인수분해 했을 때, 나타날 수 있는 가장 큰 값은 루트 n이다.
이점을 명심하고 문제를 푼다면 쉽게 풀 수 있다.
'Algorithm' 카테고리의 다른 글
[백준] 알고리즘 1676번 - 팩토리얼 0의 개수 (0) | 2020.12.29 |
---|---|
[백준] 알고리즘 10872번 - 팩토리얼 문제 (0) | 2020.12.29 |
[백준] 알고리즘 1929번 - 소수 구하기 문제 (0) | 2020.12.25 |
[백준] 알고리즘 1978번 - 소수 찾기 (0) | 2020.12.22 |
[백준] 알고리즘 2089번 - -2진수 문제 (0) | 2020.12.21 |