이 문제는 숫자를 입력받아서 소인수분해를 한 결과값을 출력하는 문제이다.
소인수분해란 자연수를 소인수의 곱으로 나타낸 것인데 소인수로 몫이 소수가 될 때까지 나눗셈하는 것이다.
그래서 숫자를 입력받아서 while문을 통해 입력받은 숫자가 1보다 클때까지 2부터 나누어서 나머지가 0이 되는경우에 출력을 해주는 것이다.
2로 나누어서 나머지가 0이 안된다면 값을 증가해서 계속해서 나누어 주는 방식으로 구현하였다.
import sys
input = sys.stdin.readline
num = int(input())
i = 2
while(num > 1):
if num % i == 0:
print(i)
num /= i
else:
i += 1
'백준 문제풀이' 카테고리의 다른 글
[백준 25304번 문제] 영수증 (0) | 2022.08.08 |
---|---|
[백준 2108번 문제] 통계학 (0) | 2022.08.07 |
[백준 2581번 문제] 소수 (0) | 2022.08.02 |
[백준 1978번 문제] 소수 찾기 (0) | 2022.07.29 |
[백준 10989번 문제] 수 정렬하기 3 (0) | 2022.07.29 |