■ 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
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 1085번 직사각형에서 탈출 문제 (0) | 2023.04.18 |
---|---|
[백준/Python] 27323번 직사각형 문제 (0) | 2023.04.17 |
[백준/Python] 2581번 소수 문제 (0) | 2023.04.15 |
[백준/Python] 1978번 소수 찾기 문제 (0) | 2023.04.14 |
[백준/Python] 9506번 약수들의 합 문제 (0) | 2023.04.13 |
댓글