알고리즘/알고리즘 문제 풀이
(C++) 백준 11653번 - 소인수분해
용꿀
2023. 5. 15. 02:15
문제 링크 : https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
문제 풀이
소인수분해는 가장 작은 소수인 2부터 시작하여 합성수가 나눠지지 않을 때까지 계속해서 나눠주면 된다.
#include <iostream>
using namespace std;
int n;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
for(int i = 2; i*i <= n; i++){
while(n % i == 0){
cout << i << "\n";
n /= i;
}
}
if(n != 1) cout << n;
}