Study hard
(c++)백준 11653번: 소인수분해 본문
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
[풀이]
소인수분해 : 합성수를 소수의 곱으로 나타내는 것
굳이 에라토스테네스의 체로 소수를 구하지 않고, 2부터 N을 나누어 가면서 나누어지지 않을경우 +1한 값을 나누는 방법으로 풀 수 있다.
#include <iostream>
using namespace std;
int N;
int p = 2;
void solution() {
cin >> N;
while (N != 1) {
if (N%p == 0) {
cout << p << endl;
N = N / p;
}
else
p++;
}
}
int main() {
solution();
return 0;
}
'백준 > 여러가지 문제들' 카테고리의 다른 글
(c++)백준 1676번: 팩토리얼 0의 개수 (0) | 2020.06.18 |
---|---|
(c++)백준 10872번: 팩토리얼 (0) | 2020.06.18 |
(c++)백준 6588번: 골드바흐의 추측 (0) | 2020.06.18 |
(c++)백준 1929번: 소수 구하기 (0) | 2020.06.18 |
(c++)백준 11576번: Base Conversion (0) | 2020.06.17 |