预处理素数(个人模版)

预处理素数:

 1 void init()  
 2 {  
 3         memset(Is_or,0,sizeof(Is_or));  
 4     for(int j=2;j<sqrt(maxn);j++)//  
 5     {  
 6         if(Is_or[j]==0)//去掉合数的倍数.  
 7         for(int k=j+j;k<=maxn;k+=j)//去掉倍数.(把这么些个合数的倍数都标记上这个数不是素数.)  
 8         Is_or[k]=1;  
 9     }  
10     for(int i=2;i<=maxn;i++)  
11     {  
12         if(Is_or[i]==0)  
13         {  
14             su[cont++]=i;  
15         }  
16     }  
17 }  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券