https://www.acmicpc.net/problem/11653
문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다.
예제 입력 1
72
예제 출력 1
2
2
2
3
3
#include <iostream>
using namespace std;
int N;
int main() {
cin >> N;
int chk = 2;
while (N>1) {
if (N % chk == 0) {
cout << chk << "\n";
N /= chk;
}
else {
chk++;
}
}
return 0;
}
'개발자 > algorithm' 카테고리의 다른 글
백준 2725번 : 보이는 점의 개수 (c++) (0) | 2020.08.16 |
---|---|
백준 1837번 : 암호제작 (c++) (0) | 2020.08.16 |
백준 1644번 : 소수의 연속합 (c++) (0) | 2020.08.16 |
백준 6588번 : 골드바흐의 추측 (c++) (0) | 2020.08.16 |
백준 2960번 : 에라토스테네스의 체 (c++) (0) | 2020.08.16 |