<Algorithm> 5. 에라토스테네스의 체
by BFine반응형
에라토스테네스의 체
빠르게 주어진 2부터 N 사이의 소수를 찾을 수 있다.
2부터 N 모든 수를 늘어놓는다.
2를 제외한 2의 배수를 지운다.
3을 제외한 3의 배수를 지운다.
4를 제외한 4의 배수를 지운다.( 2의 배수이므로 이미 걸러짐 )
5를 제외한 5의 배수를 지운다.
(숫자)^2 > N 전까지 반복
지워지지 않은 숫자가 소수이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public static void main(String[] args) { int array[]=new int[100]; for(int i=2;i<100;i++){ array[i]=i; // 모두 배열에 저장 } for(int i=2;i<100;i++){ if(i*i>100)break; // i^2>N 면 반복문 종료 if(array[i]==0) continue; for(int j=i*2;j<100;j+=i){ // 자기를 제외한 자신의 배수 제거 array[j]=0; } } for(int i=2;i<100;i++){ if(!(array[i]==0)){ // 출력 System.out.print(array[i]+"->"); } } } } | cs |
반응형
'공부(2018~2019) - 스킨변경전 > Algorithm' 카테고리의 다른 글
<Algorithm> 7. 6603번 로또 (0) | 2018.04.12 |
---|---|
<Algorithm> 6. 2023번 신기한 소수 (0) | 2018.04.11 |
<Algorithm> 4. BFS (0) | 2018.04.11 |
<algorithm> 3. DFS (0) | 2018.03.30 |
<algorithm> 2. 10026번 RGB (0) | 2018.03.30 |
블로그의 정보
57개월 BackEnd
BFine