11. Python(소인수분해)
11. Python(소인수분해)
[toc]
벌집
문제
제출
1
2
3
4
5
6
7
8
9
n = int(input())
s_num = 2
while s_num <= n:
if n % s_num == 0:
print(s_num)
n = n / s_num
else:
s_num += 1
1
2
# 입력
72
1
2
3
4
5
6
# 출력
2
2
2
3
3
인사이트
- 가장 작은 소수인 2를 s_num의 초기값으로 설정
- 만약 n을 s_num으로 나누었을 때 나머지가 0이라면, s_num은 n의 소인수가 되므로 s_num을 출력한 후, n의 값을 s_num으로 나눈 몫으로 변경
- 만약 나머지가 0이 아닐 경우, s_num의 값을 1 증가시켜 다시 과정을 진행