티스토리 뷰
📌문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
📌풀이
소인수분해: 1보다 큰 자연수를 소인수(소수인 인수)들만의 곱으로 나타내는 것
n을 2부터 n까지 차례대로 나누는데 while문을 사용해서 더이상 나누어 떨어지지 않을 때까지 같은 수로 반복해서 나눔
작은 숫자부터 나눌 수 있는 만큼 최대한 나눈 후 다음 숫자로 넘어가는 것이 중요
📌코드
n = int(input())
if n == 1:
print("")
else:
for i in range(2, n + 1):
# i로 나눌 수 없을때까지 나누기
while n % i == 0:
print(i)
n = n / i
'코딩테스트' 카테고리의 다른 글
[백준/파이썬] 10101 삼각형 외우기 (0) | 2025.01.22 |
---|---|
[백준/파이썬] 1085 직사각형에서 탈출 (0) | 2025.01.21 |
[백준/파이썬] 2581 소수 (0) | 2025.01.19 |
[백준/파이썬] 1978 소수 찾기 (0) | 2025.01.17 |
[백준/파이썬] 9506 약수들의 합 (0) | 2025.01.16 |