반응형
문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다.
import math
N = int(input())
ans_list=[]
while N !=1:
if len(ans_list)==0:
start=2
else:
start=ans_list[-1]
for i in range(start,N+1):
if N % i==0:
#print(i)
ans_list.append(i)
N=N//i
break
else:
continue
print(*ans_list, sep='\n')
반응형
'알고리즘' 카테고리의 다른 글
백준 11279번 최대 힙 파이썬 (0) | 2020.09.30 |
---|---|
백준 11286번 절댓값 힙 파이썬 (0) | 2020.09.30 |
백준 11724번 연결요소의 개수 (0) | 2020.09.30 |
백준 13904번 과제 파이썬 (0) | 2020.09.30 |
백준 2606 바이러스 (0) | 2020.09.24 |