728x90
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
코드 정답
n = int(input())
if n == 1:
print("")
for i in range(2, n+1):
while n % i == 0:
print(i)
n /= i
풀이
- 1행 : 정수 n 을 입력받는다.
- 3~4행 : 변수 n에 저장된 값이 1이라면 아무것도 출력하지 않는다.
- 6~9행 : 2부터 n까지의 값을 변수 i에 선언하며 7~9행을 반복한다. n을 i로 나눈 값이 0이 될 때까지 8~9행을 반복한다. i의 값을 출력한 후 n = n / i 식을 이용하여 n의 값을 새로 대입한다.
728x90
'BaekJoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준] 기본 수학 2 - 4948번 (Python) (0) | 2023.01.05 |
---|---|
[백준] 기본 수학 2 - 1929번 (Python) (0) | 2023.01.02 |
[백준] 기본 수학 2 - 2581번 (Python) (0) | 2023.01.02 |
[백준] 기본 수학 2 - 1978번 (Python) (0) | 2023.01.02 |
[백준] 기본 수학 1 - 10757번 (Python) (0) | 2022.12.01 |