素数打表

来源:互联网 发布:如何修改淘宝店铺域名 编辑:程序博客网 时间:2024/06/04 19:57
直接打表0ms代码如下:[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片#include <math.h>  #include <stdio.h>  #include <string.h>  #define N 16010  int vis[N];    void gen_primes() {      int m = (int)sqrt(N+0.5), i, j;      memset(vis, 0, sizeof(vis));      for(i=2; i<=m; ++i) {          if(!vis[i]) {              for(j=i+i; j<=N; j+=i) {                  vis[j] = 1;              }          }      }      vis[1] = vis[2] = 1;  }    int main(void) {      int n, i=1;      gen_primes();      while(scanf("%d", &n)!=EOF && n>0) {          if(vis[n]) {              printf("%d: no\n", i++);          } else printf("%d: yes\n", i++);      }      return 0;  }
#include<stdio.h>#include<math.h>#include<string.h>int p[100000];void primes(){    int i,j;    memset(p,0,sizeof(p));    for(i=2;i*i<=100000;++i){        if(!p[i]){            for(j=i+i;j<=100000;j+=i)            p[j]=1;        }    }    p[1]=p[2]=1;}int main(){    int i,j,n;    scanf("%d",&n);    primes();    printf("%d\n",p[n]);}

0 0
原创粉丝点击