SlideShare a Scribd company logo
1 of 3
Download to read offline
Week4. 알고리즘(소수)
소수: 1과 자기 자신으로 밖에 안나누어 지는 수
(1은 소수가 아니다)
1. 2부터 n의 제곱근까지 순회
2. 에라토스테네스의 체
소수를 여러번 구할 경우
더 빨리 할 수 없을까?
Bool 배열의 용량을
줄일 수 없을까?
Week4. 알고리즘(소수)
소수: 1과 자기 자신으로 밖에 안나누어 지는 수
(1은 소수가 아니다)
Bool 타입을 정말 1bit로 표현하자
+
비트마스크를 사용하자
(c++, java 등의 bool 타입은 1byte)
3. 비트마스크를 활용한 에라토스테네스의 체
*k >> 3: k를 8로 나눈 몫
(인덱스)
k & 7: k를 8로 나눈 나머지
(sieve[몫]의 실제 자리)
Week4. 알고리즘(최대공약수)
최대공약수: 두 정수 a, b의 공통된 약수 중 가장 큰 수
유클리드 호제법
gcd(a, b) = gcd(b, r)
r = a%b
gcd(15, 9) = gcd(9, 6) = gcd(6, 3)
= gcd(3, 3) = gcd(3, 0) = 3

More Related Content

More from HansolJang5

Week9 certificate
Week9 certificateWeek9 certificate
Week9 certificateHansolJang5
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauthHansolJang5
 
Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층HansolJang5
 

More from HansolJang5 (7)

Week10 vpn
Week10 vpnWeek10 vpn
Week10 vpn
 
Week9 certificate
Week9 certificateWeek9 certificate
Week9 certificate
 
Week8 code
Week8 codeWeek8 code
Week8 code
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauth
 
Week3.network
Week3.networkWeek3.network
Week3.network
 
Week2.network
Week2.networkWeek2.network
Week2.network
 
Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층
 

Week4.algorithm

  • 1. Week4. 알고리즘(소수) 소수: 1과 자기 자신으로 밖에 안나누어 지는 수 (1은 소수가 아니다) 1. 2부터 n의 제곱근까지 순회 2. 에라토스테네스의 체 소수를 여러번 구할 경우 더 빨리 할 수 없을까? Bool 배열의 용량을 줄일 수 없을까?
  • 2. Week4. 알고리즘(소수) 소수: 1과 자기 자신으로 밖에 안나누어 지는 수 (1은 소수가 아니다) Bool 타입을 정말 1bit로 표현하자 + 비트마스크를 사용하자 (c++, java 등의 bool 타입은 1byte) 3. 비트마스크를 활용한 에라토스테네스의 체 *k >> 3: k를 8로 나눈 몫 (인덱스) k & 7: k를 8로 나눈 나머지 (sieve[몫]의 실제 자리)
  • 3. Week4. 알고리즘(최대공약수) 최대공약수: 두 정수 a, b의 공통된 약수 중 가장 큰 수 유클리드 호제법 gcd(a, b) = gcd(b, r) r = a%b gcd(15, 9) = gcd(9, 6) = gcd(6, 3) = gcd(3, 3) = gcd(3, 0) = 3