백준 - 소인수분해(11653)

유재우·2022년 5월 2일
0

문제

정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.

  • 입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
  • 출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
  • 예제 입력 1
    72
  • 예제 출력 1
2
2
2
3
3
  • 예제 입력 2
3
  • 예제 출력 2
3
  • 예제 입력 3
6
  • 예제 출력 3
2
3
  • 예제 입력 4
2
  • 예제 출력 4
2
  • 예제 입력 5
9991
  • 예제 출력 5
97
103

  • 첫번째 시도
number = int(input())
if number == 1:
    print(1)
else:
    for num in range(2, number+1):
        while number % num == 0:
            number //= num
            print(num)
  • 정답
number = int(input())
if number == 1:
    print("")
else:
    for num in range(2, number+1):
        while number % num == 0:
            number //= num
            print(num)
  • 문제를 자세하게 보도록 하자...
profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글