[백준] 11653번 : 소인수분해 (파이썬)

뚝딱이 공학도·2022년 1월 15일
0

문제풀이_백준

목록 보기
20/160





문제





나의 답안

n=int(input())
while True:
    for i in range(2,n+1):
        if n%i==0:
            print(i)
            n=n//i
            break
    if n==1:
        break

2부터 입력받은 숫자까지(n+1) 반복문을 돌리면서 나눠지는 소수, 즉 소인수를 구한다.(i)
나눠지면 해당 숫자를 출력하고, n을 나눈 숫자로 초기화해주고 반복문을 빠져나온다.
이후, 다시 반복문을 돌려 초기화해준 n에 대해 다시 위 과정을 반복해준다.
n이 더이상 나눠지지 않으면(n==1) while문을 종료한다.

0개의 댓글