[ ALGORITHM ]/[ 백 준 ]
[BAEKJOON] 11653번 소인수분해
HiStar__
2020. 7. 11. 15:55
문 제
소 스 코 드
#include <iostream>
#include <vector>
int main() {
int N;
std::cin >> N;
int primenum{ 2 };
std::vector<int> numbers;
numbers.reserve(10'000);
while (1 != N) {
if (0 == (N % primenum)) {
N /= primenum;
numbers.emplace_back(primenum);
}
else {
++primenum;
}
}
for (const auto& a : numbers) std::cout << a << '\n';
return 0;
}
풀 이
-
소인수 분해는 2를 제외한 특정 홀수로 이루어져 있다.
-
2부터 증가시켜 나눈다면 소수로 이루어진 소인수 분해를 할 수 있다.
출 력 값
문 제 출 처
문제 링크 : [ BAEKJOON ] : https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net