본문 바로가기

ETC Programmings

에라토스테네스의 체(Stieve of Eratosthenes) 에 근거한 소수 구하기

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <stdio.h>

#define SIZE 100

 

void crossOut(int *s, int interval, int start){

             int i;

 

             for (i = start; i < SIZE; i += interval){

                           s[i] = 0;

             }

}

 

void main(){

             int prime[SIZE] = { 0 };

             int i, j;

             printf("Table of primes to 100\n");

             prime[0] = 0;

             for (i = 2; i < SIZE; i++)

                           prime[i] = 1;

             for (i = 2; i < SIZE; i++){

                           crossOut(prime, i, i+i);

             }

             for (j = 3; j < SIZE; j++){

                           crossOut(prime, i, i+i);

             }

             for (i = 0; i < SIZE; i++)

                           if(prime[i]){

                                        printf("%d  ",i);

             }           

}

소수를 구하는 방법이라고 한다.. 나중에 동적인 배열 사이즈로 만들도록도 한번 다시 리팩터링이 필요한듯...
포인터는 - -;; 솔직히 좀 무슨 소린지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ