반응형
문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다.
#include <iostream>
#include <vector>
#include<queue>
#include <string>
#include <map>
#include<algorithm>
using namespace std;
int main() {
int N;
cin >> N;
int idx = 2;
while (N)
{
if (N == 1)
{
break;
}
if (N % idx)
{
idx++;
}
else
{
cout << idx << endl;
N /= idx;
}
}
}
반응형
'Algorithm' 카테고리의 다른 글
[수학 3 단계] 백준 3036번 링 (0) | 2020.09.29 |
---|---|
[수학 3 단계] 백준 2609번 최대공약수와 최소공배수 (0) | 2020.09.29 |
[수학 3 단계] 백준 1037번 약수 (0) | 2020.09.29 |
[수학 3 단계] 백준 5086번 배수와 약수 (0) | 2020.09.29 |
[그리디 단계] 백준 1541번 잃어버린 괄호 (0) | 2020.09.28 |