반응형
1. 문제
2. 설명
m을 2로 두고 나머지가 0일 때까지 최대한 나눈다. 만약 나머지가 0이 아니라면 m값에 1을 더하여 나누어준다.
N 즉 몫이 1이 될 때까지 해당 작업을 반복한다.
3. 코드
N = int(input())
m = 2
while N!=1: #몫이 1이 되면 멈춤.
if N%m==0:
print(m)
N = N//m
else:
m += 1
내가 작성한 코드
n=int(input())
a=[]
while n>1:
for i in range(2,n+1):
cnt=0
for j in range(2,i):
if i%j==0:
cnt+=1
break
if cnt==0:
if n%i==0:
a.append(i)
n=n//i
for k in a:
a.sort()
print(k)
역시나.. while문 안에 이중 for문을 넣으니 타임아웃이 떴다 ㅠㅠ
결국 답을 보고 코드를 다시 짰다...
반응형
'코딩테스트(python) > 백준' 카테고리의 다른 글
백준 4938번 파이썬 (0) | 2022.09.02 |
---|---|
백준 1929번 파이썬 (0) | 2022.09.02 |
백준 2581번 파이썬 (0) | 2022.08.30 |
백준 1978번 파이썬 (0) | 2022.08.30 |
백준 10757번 파이썬 (0) | 2022.08.30 |