728x90
[백준알고리즘] 11653번: 소인수분해 -Python
https://www.acmicpc.net/problem/11653
소인수 분해 문제이다. 그냥 인수만 구하라고 한다면 2부터 sqrt(N)까지 반복하면서 나누어 떨어지는지 확인을 하면서 리스트에 넣으면 된다. 여기서 적용한다면 for i in range(2, sqrt(N)+1) 일 것이다.
파이썬에서 sqrt()는 math 모듈을 import해야한다.
그런데 그냥 소인수들을 구하라고 했기 때문에 N을 직접 나눠가면서 print 하도록 했다.
import sys
N = int(sys.stdin.readline())
while N >= 2:
for i in range(2, N + 1):
if N % i == 0:
print(i)
break
N = N // i
잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다
728x90
'algorithm > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘] 2981번: 검문 -Python (0) | 2019.09.02 |
---|---|
[백준알고리즘] 2609번: 최대공약수와 최소공배수 -Python (0) | 2019.09.02 |
[백준알고리즘] 1037번: 약수 -Python (0) | 2019.08.31 |
[백준알고리즘] 5086번: 배수와 약수 -Python (0) | 2019.08.31 |
[백준알고리즘] 1541번: 잃어버린 괄호 -Python (1) | 2019.08.31 |