백준 11653번 - 소인수분해
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
틀린 코드(시간초과)
n = int(input())
def primary(n):
primary = []
for i in range(2, n+1):
devide = [num for num in range(2,i) if i % num == 0]
if len(devide) == 0:
primary.append(i)
return primary
for pri in primary(n):
while 1:
if n % pri == 0:
print(pri)
n /= pri
else:
break
코드
전에는 너무 어렵게 생각하였다. 그냥 2부터 나누어 지는 수가 있으면 출력하면 되는 것 이었다...
n = int(input())
i = 2
while n != 1:
if n % i == 0:
print(i)
n /= i
else:
i += 1
결과
'코딩 테스트 > 백준' 카테고리의 다른 글
백준 4948번 - 베르트랑 공준 (0) | 2022.08.10 |
---|---|
백준 1929번 - 소수 구하기 (0) | 2022.08.09 |
백준 2581번 - 소수 (0) | 2022.08.09 |
백준 1978번 - 소수 찾기 (0) | 2022.08.08 |
백준 10757번 - 큰 수 A+B (0) | 2022.08.08 |