본문 바로가기
코딩 테스트/Python_백준

[백준/Python] 11653번 소인수분해 문제

by 모두의 케빈 2023. 4. 16.

■ 11653번 소인수분해 문제

 

출처: 백준 11653번 소인수분해 문제

 

■ 코드 풀이

 

소인수분해는 소수로 나눠줘야 합니다. 이때, 굳이 나눠주는 숫자가 소수인지를 판단하는 코드를 넣어주지 않아도 됩니다. 그냥 나눠지지 않으면 나누는 숫자(num)에 1씩 더해주고, 나눠지면 나누는 숫자를 2로 초기화해 주면 됩니다. 일단 num으로 나눈 몫이 0이 되면 num을 계속 2로 초기화시켜 줌으로써 소수일 때만 나눗셈이 이루어지도록 합니다.

 

N = int(input())
num = 2

while N != 1:
    if N % num == 0:
        print(num)
        N = N // num
        num = 2
    else:
        num += 1

댓글