에라토스테네스의 체 – 소수를 찾는 똑똑한 방법!
1. 수업 개요
주제
- 에라토스테네스의 체 & 함수
교과 연계
- 수학: 소수의 개념, 체를 이용한 소수 탐색
- 정보: 함수 개념, Python 프로그래밍
수업 목표
- 수학: 소수가 무엇인지 이해하고, 에라토스테네스의 체를 활용해 1부터 100까지의 소수를 찾아볼 수 있다.
- 정보: 에라토스테네스의 체 알고리즘을 함수로 정의하고, Python 코드로 구현할 수 있다.
2. 수업 흐름
도입 - 소수의 개념 이해하기
- 간단한 퀴즈로 '소수'의 개념을 학습하고, 소수와 합성수의 차이를 비교함.
전개1 - 체를 활용한 소수 찾기 활동
- 활동지를 활용해 직접 에라토스테네스의 체 활동 수행
- 2의 배수 지우기 → 3의 배수 지우기 → … 반복
- 남은 수들이 소수라는 것을 체험적으로 이해
에라토스테네스의 체.pdf
0.09MB
전개2 - 알고리즘으로 일반화하기
- 소수를 찾는 기존 방법과 에라토스테네스의 체의 차이를 비교
- Python으로 직접 구현해보며, 반복문과 조건문, 리스트 개념 복습
- 함수 개념 학습
def get_primes(n):
primes = [True] * (n+1)
primes[0] = primes[1] = False
for i in range(2, int(n**0.5) + 1):
if primes[i]:
for j in range(i*i, n+1, i):
primes[j] = False
return [i for i in range(n+1) if primes[i]]
3. 핵심 내용
학생들이 수학적인 규칙을 직접 체험하며 배우도록 지도
활동지를 활용한 시각적 체험 + 프로그래밍 실습을 효과적으로 연결
알고리즘의 효율성
- 왜 \(\sqrt{n}\)까지만 반복하나요?
- 왜 i의 제곱부터 지우나요?