문제 링크 : https://www.acmicpc.net/problem/11653
문제 풀이
소인수분해는 가장 작은 소수인 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;
}
'알고리즘 > 알고리즘 문제 풀이' 카테고리의 다른 글
(C++) 백준 11051번 - 이항 계수 2 (0) | 2023.05.15 |
---|---|
(C++) 6064번 - 카잉 달력 (0) | 2023.05.15 |
(C++) 백준 1929번 - 소수 구하기 (0) | 2023.05.15 |
(C++) 백준 1978번 - 소수 찾기 (0) | 2023.05.14 |
(C++) 백준 1026번 - 보물 (0) | 2023.05.14 |