반응형
https://www.acmicpc.net/problem/11653 문제풀이
코드
n = int(input())
while n>1 :
for i in range(2,int(n**.5)+1):
if n%i == 0 :
print(i)
n //= i
break
else :
print(n)
break
풀이
간단하게 2부터 나눠지는지 확인 후 나눠지면 출력해준 뒤 n을 해당 값으로 나눈 뒤 for문을 돌리면 된다.
중요한 건 이때도 제곱근까지만 확인하는 것!!
그리고 제곱근까지 안 나눠진다면 n값을 출력하면 끝(더이상 나눌수없기때문!!)
반응형
'알고리즘 테스트 > 백준' 카테고리의 다른 글
백준 4948 : 베르트랑 공준 (파이썬) (0) | 2022.01.26 |
---|---|
백준 1929 : 소수 구하기 (파이썬) (0) | 2022.01.25 |
백준 9020 : 골드바흐의 추측 (파이썬) (0) | 2022.01.25 |
백준 1978 : 소수 찾기 (파이썬) (0) | 2022.01.25 |
백준 1011 : Fly me to the Alpha Centauri (파이썬) (0) | 2022.01.25 |