码迷,mamicode.com
首页 > 其他好文 > 详细

筛法求素数模板1

时间:2020-02-01 23:09:18      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:基础   直接   size   ini   prime   存在   ems   筛法求素数   tin   

基础知识,没什么好说的,直接上代码!

 1 const int maxn = 1e8;
 2 int prime[maxn+5];
 3 int len;
 4 
 5 int initial_prime()
 6 {
 7     memset(prime,0,sizeof(prime));
 8     prime[0]=prime[1]=1;
 9     for(int i=2;i<=sqrt(maxn);i++)
10     {
11         if(prime[i])continue;
12         for(int k=i;k*i<=maxn;k++)prime[k*i]=1;
13     }
14     int cur=0;
15     for(int i=2;i<=maxn;i++)
16     {
17         if(prime[i]==0)prime[cur++]=i;
18     }
19     len=cur;
20     return 0;
21 }

 经过上述代码计算,对于前i个正整数内,存在的素数的个数如下:

100->25
1000->168
10000->1229
100000->9592
1000000->78498
10000000->664579
100000000->5761455

 

筛法求素数模板1

标签:基础   直接   size   ini   prime   存在   ems   筛法求素数   tin   

原文地址:https://www.cnblogs.com/savennist/p/12250411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!