반응형
● 문제 접근 과정
1. 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
2. N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
3. 입력받기 위한 N을 선언 후, 입력 받는다.
4. 입력 값이 1이라면 아무것도 출력하지 않는다는 조건을 먼저 적어준다.
5. 반복문을 N까지 돌고 그 안에서 while문을 이용하여 i로 나눠 나머지가 없다면 계속 진행하며, i값을 출력하고 N값을 i만큼 나눠준다.
● 구현
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
if (N == 1) return 0;
for (int i = 2; i <= N; i++) {
while (N % i == 0) {
cout << i << endl;
N /= i;
}
}
}
https://www.acmicpc.net/problem/11653
반응형