동백 // 백준 파이썬 11653번 소인수분해

2021. 11. 1. 16:57컴퓨터 사이언스/Algorithm

반응형
반응형

소인수분해


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 37128 20043 15729 52.969%

문제


정수 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

내 코드

N = int(input())

# i는 2부터 시작
i = 2

while N != 1:
    # 만약 N이 i로 나누어 떨어진다면 
    if N % i == 0:
        # N은 i로 나눈 것 과 같고, i를 출력
        N = N/i
        print(i)
        
        # 만약 N이 i로 나누어 떨어지지않는다면, i에 1씩 더해줌
    else : i += 1
​
반응형