https://www.acmicpc.net/problem/11653
풀이
소인수분해를 구현해주는 문제이다.
나누는 값을 1씩 추가해서 더 이상 나눌 수 없을 때까지 나눠준다.
코드
# 11653번 소인수분해
n = int(input())
ans = []
def calc(c_n):
for i in range(2, c_n):
if n % i == 0:
c_n = c_n // i
ans.append(i)
break
return c_n
if n != 1:
while True:
t = calc(n)
if n == t:
ans.append(n)
break
n = t
print("\n".join(list(map(str, sorted(ans)))))
출력결과
'백준 > 구현' 카테고리의 다른 글
[백준][PyPy3] 1062번 가르침 - 코팩 (0) | 2023.08.31 |
---|---|
[백준][Python] 2776번 암기왕 - 코팩 (0) | 2023.08.30 |
[백준][Python] 1002번 터렛 - 코팩 (0) | 2023.08.07 |
[백준][Python] 18110번 solved.ac - 코팩 (0) | 2023.08.01 |
[백준][Python] 1236번 성 지키기 - 코팩 (0) | 2023.08.01 |