[백준] #11653 소인수분해 python

2022. 12. 25. 21:44

https://www.acmicpc.net/problem/11653

 

11653번: 소인수분해

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

www.acmicpc.net

 

먼저, 해당 수가

 

1. 소수인지 체크한다.

 

2. 반복문을 통해 나눠지는 수를 반복하여 약수로 추가한다.

 

N = int(input())

result = []
nTrue = True
if N == 1:
    nTrue = False
for j in range(2, N):
    if N % j == 0:
        nTrue = False
if nTrue:
    print(N)
else:
    for i in range(2,N+1):
        if N % i == 0:
            while N % i == 0:
                N = N // i
                result.append(i)
for i in result:
    print(i)

BELATED ARTICLES

more