C,C++/코딩테스트
[수학] BOJ 11653번 소인수분해
권멋져
2022. 6. 8. 16:18
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
- 문제파악
정수 N에 대해서 소인수분해한 결과를 출력하라
- 정답
#include "bits/stdc++.h"
using namespace std;
int main()
{
int n;
cin>>n;
vector<int> vec;
for(int i = 2; i*i<=n ; i++)
{
while(1)
{
if(n%i == 0)
{
vec.push_back(i);
n /=i;
}
else
break;
}
}
if(n != 1)
vec.push_back(n);
sort(vec.begin(),vec.end());
for(auto a : vec)
cout<<a<<"\n";
}