코딩테스트/기초

백준 11653 소인수분해 - python

math_tbro 2022. 1. 9. 01:54

출처 :

https://www.acmicpc.net/problem/11653

 

11653번: 소인수분해

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

www.acmicpc.net

 

풀이:

n = int(input())

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

나름  신박하게 잘 했다 생각했는데 다 비슷하게 푼거 같다...

 

계속 머리속에 있던 생각은 for 문을 써서 그 안에서 계속 루프를 돌려야한다 ! 를 생각했다.

 

그래서 while 을 항상 설정해주고 

계속 i로 나누고 나누면 나눈 i를 출력했다.

그리고 나눠지지않으면 멈춰서 다음 i 로 넘어가서 정답에 도달했따.