반응형
Chapter 01. 기초 수학
소인수와 소인수분해 (Prime Factors & Factorization)
1. 소인수 (Prime Factor)
- 정의:
어떤 수의 약수 중에서 소수인 약수를 ‘소인수’라고 한다. - 예시:
수 약수(인수) 소인수 20 1, 2, 4, 5, 10, 20 2, 5 12 1, 2, 3, 4, 6, 12 2, 3 25 1, 5, 25 5 41 1, 41 41
💡 즉, 약수 중에서도 소수만을 추려낸 것이 소인수이다.
2. 소인수분해 (Prime Factorization)
- 정의:
1보다 큰 정수를 소인수의 곱으로 표현하는 것을 소인수분해라고 한다. - 예시:
수 소인수분해 거듭제곱 표현 20 2 × 2 × 5 2² × 5 12 2 × 2 × 3 2² × 3 36 2 × 2 × 3 × 3 2² × 3² 25 5 × 5 5² 41 41 41
💡 소인수분해는 수의 구조를 단순하게 표현하고, 약수나 배수를 쉽게 구하는 데 매우 유용하다.
3. 소인수분해와 약수의 관계
소인수분해를 하면 약수를 빠르고 정확하게 구할 수 있다.
예를 들어
20 = 2² × 5
조합 가능한 인수의 곱을 구하면:
→ 1, 2, 4, 5, 10, 20
즉, 소인수분해는 단순 계산을 넘어서 모든 약수의 패턴을 체계적으로 파악할 수 있게 해준다.
4. 실습 문제 예시
소인수분해를 이용하여 아래 수들의 약수를 구해보자.
| 수 | 약수 |
| 14 | 1, 2, 7, 14 |
| 154 | 1, 2, 7, 11, 14, 22, 77, 154 |
| 1547 | 1, 7, 13, 17, 91, 119, 221, 1547 |
| 2025 | 1, 3, 5, 9, 15, 25, 27, 45, 75, 81, 135, 225, 405, 675, 2025 |
5. 파이썬으로 구현하기
(1) 소인수분해 기본 구조
사용자가 입력한 수를 소인수의 곱으로 표현하는 프로그램
n = int(input("소인수분해할 수를 입력하세요: "))
i = 2
while n > 1:
if n % i == 0:
print(i, end=' ')
n = n // i
else:
i += 1
➜ 나누어떨어질 때마다 i를 출력하고, 나눠진 몫을 다시 검사
➜ 모든 소인수가 순서대로 출력된다
(2) 응용 문제 — 72 × x = y² 일 때, x의 최소값 구하기
문제 풀이 개념:
72의 소인수분해 → 2³ × 3²
짝수 지수가 되도록 만들어야 제곱수가 된다.
2³ × 3² = (2² × 3²) × 2¹
따라서 x = 2 → 최소값은 2
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
이번 강의는 단순한 수 분해가 아니라, 수의 구조를 읽는 사고력 훈련이었다.
소인수분해를 통해 하나의 수가 어떤 소수들로 구성되어 있는지, 그 내부의 규칙을 시각적으로 파악할 수 있다는 점이 흥미로웠다.
특히 파이썬으로 직접 구현해보니,
- 반복문(while)과 조건문(if)의 흐름
- 나눗셈(//)과 나머지(%)의 차이
- 수학 개념을 코드 로직으로 전환하는 사고 과정이 자연스럽게 연결되었다.
소인수분해는 단순 계산보다 논리적 분해와 재구성의 사고를 키워주는 기초 훈련이었다.
🚀 적용점
- 프로그래밍 활용:
- 소인수분해 알고리즘은 암호화(예: RSA), 데이터 압축, 해시 충돌 방지 등에 쓰인다.
- while 반복 구조는 효율적인 알고리즘 사고의 기본.
- 학습 심화 방향:
- 소인수분해 결과를 리스트나 딕셔너리 형태로 저장하여,
특정 소수의 지수를 쉽게 확인할 수 있게 확장 가능. - 거듭제곱 형태를 자동으로 정리하는 함수화 연습도 추천.
- 소인수분해 결과를 리스트나 딕셔너리 형태로 저장하여,
- 수학적 사고 확장:
- 약수, 배수, 최소공배수, 최대공약수를 모두 소인수분해 기반으로 통합적 접근 가능.
👉 이번 강의는 “수학적 원리 + 코드 사고력”을 동시에 다지는 완벽한 기초였다.
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-04 (0) | 2025.10.21 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-03 (0) | 2025.10.21 |
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-01 (0) | 2025.10.20 |
| 제로베이스 데이터사이언스 스쿨 - Part.02 데이터 분석을 위한 SQL-18 (0) | 2025.10.18 |
| 제로베이스 데이터사이언스 스쿨 - Part.02 데이터 분석을 위한 SQL-17 (0) | 2025.10.17 |