알고리즘 PS
[Python] 백준 #11653 소인수분해
on_doing
2021. 1. 14. 20:13
728x90
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
#n이하의 소수들만 남기기
def func(n):
k=0
List=[1]*(n+1)
List[0]=0
List[1]=0
result=[]
for i in range(n+1):
if List[i]==1:
for j in range(2*i,n+1,i):
List[j]=0
for i in range(2,n+1):
if List[i]==1:
result.append(i)
return result
n=int(input())
List=func(n)
if n!=1:
while True:
if n==1:
break
for i in List:
while True:
if n%i!=0:
break
elif n%i==0:
print(i)
n=n//i
728x90