정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
from math import sqrt
def isPrime(n):
if n < 2:
return False
elif n == 2:
return True
for i in range(2, int(sqrt(n)) + 1):
if n % i == 0:
return False
return True
n = int(input())
numbers = [x for x in range(n+1) if isPrime(x)]
index = 0
while index < len(numbers):
selected = numbers[index]
if selected > n:
break
if n % selected == 0:
n /= selected
print(selected)
else:
index += 1
n = int(input())
for number in range(2, n+1):
if number > n:
break
while n % number == 0:
n /= number
print(number)