문 제
소 스 코 드
#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
'[ ALGORITHM ] > [ 백 준 ]' 카테고리의 다른 글
[BAEKJOON] 2981번 검문 (0) | 2020.07.13 |
---|---|
[BAEKJOON] 2609번 최대공약수와 최소공배수 (0) | 2020.07.12 |
[BAEKJOON] 1037번 약수 (0) | 2020.07.10 |
[BAEKJOON] 5086번 배수와 약수 (0) | 2020.07.10 |
[BAEKJOON] 1541번 잃어버린 괄호 (0) | 2020.07.10 |