알고리즘 테스트/백준
백준 11653 : 소인수분해 (파이썬)
codeyaki
2022. 1. 25. 17:49
반응형
https://www.acmicpc.net/problem/11653 문제풀이
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
코드
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값을 출력하면 끝(더이상 나눌수없기때문!!)
반응형