23, 29 ] - - 100보다 큰 소수 5개 찾기 take 5 $ filter ( > 100 ) primes [ 101, 103, 107, 109, 113 ] 같이 보기 [ 편집 ] 행운의 수 각주 [ 편집 ] ↑ " Project Euler Problem 10 | Jason's Code Blog " ( 영어 ). 2018년 3월 13일에 확인함. vdeh소수 ( prime number ) 소수의 종류 계승 소수 메르센 소수 사촌 소수 섹시 소수 소피 제르맹 소수 쌍둥이 소수 페르마 소수 프로트 수 회문 소수 소수 관련 상수 밀스 상수 브룬 상수 쌍둥이 소수 상수 소수 관련 정리 그린 - 타오 정리 소수 정리 유클리드의 정리 천의 정리 소수 관련 미해결 문제 골드바흐의 추측 리만 가설 부냐콥스키 추측 쌍둥이 소수 추측 크라메르 추측 소수 관련 함수 디리클레 L - 함수 리만 제타 함수 소수 계량 함수 기타 소인수 분해 소수 계승 소수 간극 에라토스테네스의 체 완전수 쿨렌 수 합성수 처음 60개의 소수 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 이 글은
163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 이 글은 수론에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. 원본 주소 " " 분류 : 소수 판별법숨은 분류 : CS1 - 영어 인용 ( en ) 수론에 관한 토막글큰 토막글 문서모든 토막글 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 공용 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 IndonesiaItaliano 日 本 語 / / / 中 文 語 링크 편집 이 문서는 2019년 6월 26일 ( 수 ) 17 : 25에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다.
/ n < = 1 일 때 종료 if ( n < = 1 ) return ; / / n1만큼 할당 primeList = new ArrayList < Boolean > ( n1 ) ; / / 0번째와 1번째를 소수 아님으로 처리 primeList. add ( false ) ; primeList. add ( false ) ; / / 2 ~ n 까지 소수로 설정 for ( int i = 2 ; i < = n ; i ) primeList. add ( i, true ) ; / / 2 부터 ~ i * i < = n / / 각각의 배수들을 지워간다. for ( int i = 2 ; ( i * i ) ( i * i ) < = n ; i ) { if ( primeList. get ( i ) ( i ) ) { for ( int j = i * 2 ; j < = n ; j = i ) primeList. set ( j, false ) ; / / j의 시작값을 i * i로 하셨는데 i * 2가 맞는거 같아요 } } StringBuffer sb = new StringBuffer ; sb. append ( " { " ) ; for ( int i = 0 ; i < = n ; i ) { if ( primeList. get (
{ " ) ; for ( int i = 0 ; i < = n ; i ) { if ( primeList. get ( i ) ( i ) = = true ) { sb. append ( i ) ; sb. append ( ", " ) ; } } sb. setCharAt ( sb. length - 1,'}') ; System. out. println ( sb. toString ) ; } } ◆ python ( 3. 6. 4 ) 으로 구현 [ 1 ] def prime - list ( n ) : # 에라토스테네스의 체 초기화 : n개 요소에 True 설정 ( 소수로 간주 ) sieve = [ True ] * n # n의 최대 약수가 sqrt ( n ) 이하이므로 i = sqrt ( n ) 까지 검사 m = int ( n * * 0. 5 ) for i in range ( 2, m 1 ) : if sieve [ i ] = = True : # i가 소수인 경우 for j in range ( ii, n, i ) : # i이후 i의 배수들을 False 판정 sieve [ j ] = False # 소수 목록 산출 return [ i for i in range ( 2, n ) if s
에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 에라토스테네스의 체 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 수학에서 에라토스테네스의 체는 소수 ( 소쑤 ) 를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 목차 1 알고리즘 1. 1 에라토스테네스의 체를 프로그래밍 언어로 구현 2 같이 보기 3 각주 알고리즘 [ 편집 ] 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다. 2는 소수이므로 오른쪽에 2를 쓴다. ( 빨간색 ) 자기 자신을 제외한 2의 배수를 모두 지운다. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. ( 초록색 ) 자기 자신을 제외한 3의 배수를 모두 지운다. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. ( 파란색 ) 자기 자신을 제외한 5의 배수를 모두 지운다. 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다. ( 노란색 ) 자기 자신을 제외한 7의 배수를 모두 지운다. 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. 그림의 경우, 11 2 > 120 { displaystyle 11 ^ { 2 } >
구간의 모든 소수가 남는다. 그림의 경우, 11 2 > 120 { displaystyle 11 ^ { 2 } > 120 } 이므로 11보다 작은 수의 배수들만 지워도 충분하다. 즉, 120보다 작거나 같은 수 가운데 2, 3, 5, 7의 배수를 지우고 남는 수는 모두 소수이다. 에라토스테네스의 체를 프로그래밍 언어로 구현 [ 편집 ] ◆ C로 이 알고리즘을 다음과 같이 구현할 수 있다. void Eratos ( int n ) { / * 만일 n이 1보다 작거나 같으면 함수 종료 * / if ( n < = 1 ) return ; / * 2부터 n까지 n - 1개를 저장할 수 있는 배열 할당 배열 참조 번호와 소수와 일치하도록 배열의 크기는 n1 길이만큼 할당 ( 인덱스 번호 0과 1은 사용하지 않음 ) * / bool * PrimeArray = new bool [ n 1 ] ; / * 배열초기화 : 처음엔 모두 소수로 보고 true값을 줌 * / for ( int i = 2 ; i < = n ; i ) PrimeArray [ i ] = true ; / * 에라토스테네스의 체에 맞게 소수를 구함 만일, PrimeArray [ i ] 가 true이면 i
에라토스테네스의 체에 맞게 소수를 구함 만일, PrimeArray [ i ] 가 true이면 i 이후의 i 배수는 약수로 i를 가지고 있는 것이 되므로 i 이후의 i 배수에 대해 false값을 준다. PrimeArray [ i ] 가 false이면 i는 이미 소수가 아니므로 i의 배수 역시 소수가 아니게 된다. 그러므로 검사할 필요도 없다. * / for ( int i = 2 ; i * i < = n ; i ) { if ( PrimeArray [ i ] ) for ( int j = i * 2 ; j < = n ; j = i ) PrimeArray [ j ] = false ; } / / 이후의 작업... } ◆ java 로 구현 public class Eratos { public static void main ( String [ ] args ) { / / ArrayList로 구현 ArrayList < Boolean > primeList ; / / 사용자로부터의 콘솔 입력 Scanner scan = new Scanner ( System. in ) ; int n = scan. nextInt ; / / n < = 1 일 때 종료 if ( n < = 1 ) return ; / / n1만큼 할당 primeList
##ve [ j ] = False # 소수 목록 산출 return [ i for i in range ( 2, n ) if sieve [ i ] = = True ] 결과 : prime - list ( 20 ) [ 2, 3, 5, 7, 11, 13, 17, 19 ] max ( prime - list ( 100 ) ( 100 ) ) 9983 ◆ Haskell 로 구현 타입 정보 있는 버전 ( 권장 ) primes : : [ Int ] primes = sieve [ 2.. ] where sieve : : [ Int ] - > [ Int ] sieve ( prime : xs ) = prime : sieve [ x | x < - xs, x'mod'prime / = 0 ] 타입 정보 없는 버전 ( Haskell의 타입 추론 이용 ) primes = sieve [ 2.. ] where sieve ( prime : xs ) = prime : sieve [ x | x < - xs, x'mod'prime / = 0 ] 결과 : - - 처음 소수 10개 찾기 take 10 primes [ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 ] - - 100보다 큰 소수 5개 찾기 take 5 $ filter ( > 100 ) primes [
##시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다.