백준 11653번 문제(소인수분해) C++로 풀기

doctorsohn·2021년 1월 30일
0

백준

목록 보기
12/16

11653번 소인수분해 링크


문제 요약

입력값의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. 입력이 1인 경우 아무것도 출력하지 않는다.


코드

#include <iostream>

using namespace std;

int main()
{
  int n;
  scanf("%d",&n);
  int div=2;  // 인수
  if(n!=1)
  {
    while(n>1)
    {
      if(n%div==0)  // 나눠지면 인수 출력
      {
        printf("%d\n",div);
        n/=div;
      }
      else  // 안나눠지면 인수 증가
      {
        div++;
      }
    }
  }
}

풀이

인수를 설정하고, 나눠지면 인수를 출력하고 입력을 인수로 나눈다.
나눠지지 않으면 인수를 증가시킨다.


주의점

없음

profile
하고싶은일하는게이머

0개의 댓글