11653. 소인수분해
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력 : 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력 : N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
ex)
입력 :
72
출력 :
2
2
2
3
3
풀이
n = int(input())
# 2부터 하나씩 나눠보기
for i in range(2, n+1):
if n % i == 0:
#해당 숫자로 나눌 수 없을 때까지 나누기
while n % i == 0:
print(i)
n = n / i
- 정수 n 을 입력받아 2 부터 하나씩 나누고 만약 나눈 나머지가 0 이면, 그 숫자를 출력한 다음 해당 숫자로 계속 나누며 0이 나올 때 까지 나눗셈을 반복하여 소인수분해 하도록 했다.
'코딩테스트 문제풀이(Python)' 카테고리의 다른 글
[프로그래머스] 정수 제곱근 판별 문제풀이 (파이썬) (0) | 2022.07.10 |
---|---|
[프로그래머스] 제일 작은 수 제거하기 문제풀이 (파이썬) (0) | 2022.07.09 |
[백준] 2581번 문제풀이 (파이썬) (0) | 2022.07.04 |
[프로그래머스] 최대공약수와 최소공배수 문제풀이 (파이썬) (0) | 2022.07.04 |
[프로그래머스] 짝수와 홀수 문제풀이 (파이썬) (0) | 2022.07.03 |