素数打表与素数单个判断

来源:互联网 发布:fastdfs windows版 编辑:程序博客网 时间:2024/04/29 16:03
bool primeVis[10100000];  //i是不是素数,从primeVis[2]开始有效int prime[1000000];  //prime[1]=2,prime[2]=3...int primeNum = 0; //N以内素数个数(1.2...primeNum)void init_prim(int N)  {      memset(primeVis, true, sizeof(primeVis));       for (int i = 2; i <= N; ++i)      {          if (primeVis[i] == true)          {              primeNum++;              prime[primeNum] = i;          }          for (int j = 1; ((j <= primeNum) && (i * prime[j] <= N));  ++j)          {              primeVis[i * prime[j]] = false;              if (i % prime[j] == 0) break; //点睛之笔          }      }  }  bool judge_prime(int temp)//判断一个数是否为质数,返回1为素数,0为合数{for(int i=2;i*i<=temp;i++)if(temp%i==0)return false;return true;}

0 0
原创粉丝点击