COJ 1030 소수 슬롯

3202 단어 소수
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1030
선형 체 소수 로 과연 훨씬 빠르다.
 
#include<cstdio>

#include<cstring>

#include<cstdlib>

#define MAXN 1300000

bool is_p[MAXN];



void calc()

{

    for( int i = 1; i < MAXN; i ++)

        is_p[i] = true;

    is_p[1] = false;

    for( int i = 2; i < MAXN; i ++)

    {

        if( !is_p[i]) continue;

        for( int j = 2; i * j < MAXN; j ++)

            is_p[i * j] = false;

    }

}



int main()

{

    int n, k, cnt;

    calc();

    scanf( "%d", &n);

    while( n --)

    {

        scanf( "%d", &k);

        cnt = 0;

        for( int i = k; !is_p[i]; i ++)

            cnt ++;

        for( int i = k; !is_p[i]; i --)

            cnt ++;

        printf( "%d
", cnt); } return 0; }

 
 

좋은 웹페이지 즐겨찾기