728x90
11653번 - 소인수분해
import sys
a = int(sys.stdin.readline())
s = 2
if a == 1:
print("")
while s <= a :
if a % s == 0:
print(s)
a /= s
else:
s += 1
아래는 내 2581번 풀이를 이용해 만든 코드이고, 시간초과로 실패
import sys
a = int(sys.stdin.readline())
number = [i for i in range(a)]
pr_num = []
def is_prime(num):
y=True
if num == 2:
y = True
elif num <= 1:
y = False
for n in range(2, num):
if num%n == 0:
y = False
return y
for n in number:
if is_prime(n) is True:
pr_num.append(n)
if len(pr_num) == 0:
print("")
else:
for i in range(len(pr_num)):
while (a % pr_num[i]) == 0:
print(pr_num[i])
a = a / pr_num[i]
728x90