CSU素数槽 判断多个素数怎么不超时(素数筛选)

来源:互联网 发布:js 布尔值取反 编辑:程序博客网 时间:2024/05/22 00:25
题目链接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\n", cnt);    } return 0;}
原创粉丝点击