728x90
반응형
메모리: 31120 KB, 시간: 1316 ms
수학, 정수론, 소수 판정
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
예제 입력 1 복사
72
예제 출력 1 복사
2
2
2
3
3
예제 입력 2 복사
3
예제 출력 2 복사
3
예제 입력 3 복사
6
예제 출력 3 복사
2
3
예제 입력 4 복사
2
예제 출력 4 복사
2
예제 입력 5 복사
9991
예제 출력 5 복사
97
103
<풀이>
import sys
input = sys.stdin.readline
N = int(input().strip())
k = 2
while N>1:
if N%k ==0:
while N%k == 0:
print(k)
N//=k
k+=1
반응형
'코딩 > 백준' 카테고리의 다른 글
[백준][Bronze I] 이항 계수 1 - 11050번 파이썬 문제풀이 (1) | 2024.11.14 |
---|---|
[백준][Bronze II] 숫자 - 10093번 파이썬 문제풀이 (0) | 2024.11.12 |
[백준][Silver IV] 덱 - 10866번 문제풀이 (1) | 2024.11.08 |
[백준][Bronze II] 상수 - 2908번 파이썬 문제풀이 (2) | 2024.11.06 |
[백준][Silver IV] 큐 - 10845번 파이썬 문제풀이 (1) | 2024.11.04 |