题目描述 Description

给定区间[L, R](L <= R <= 2147483647,R-L <= 1000000),请计算区间中素数的个数。

输入描述 Input Description

两个数L和R

输出描述 Output Description

一行,区间中素数的个数

样例输入 Sample Input

2 11

样例输出 Sample Output

5

数据范围及提示 Data Size & Hint

详见试题

#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int l,r,f[1100000]={0},a[1100000],ans=0;//重要的事情说三遍,数组开大点,数组开大点,数组开大点!(找了一晚上错误,就是找不到错误,马丹,最后发现数组开小了,明明我是卡着点开的数组)
int su(int x)
{
if (x==2) return 1;
for (int i=2;i<=ceil(sqrt(x));i++)
if (x%i==0) return 0;
return 1;
}//判断是不是素数
void pc(int x)
{
int q=l/x;
int s=l%x;
int h=r/x;
for (int j=0;j<=h-q;j++)
f[x-s+x*j]=1;
if (q==0)
f[x-s]=0;
if (q>1&&s==0)
f[0]=1; }//筛子,筛掉所有素数的倍数
int main()
{ scanf("%d%d",&l,&r);
for (int i=0;i<=r-l;i++)
a[i]=l+i;
for (int i=2;i<=ceil(sqrt(r));i++)
if (su(i)) pc(i);
if (a[0]==0||a[0]==1)
f[0]=1;
if (a[1]==0||a[1]==1)
f[1]=1;
for (int i=0;i<=r-l;i++)
if (not f[i])
ans++;
printf("%d",ans);
return 0; }

  

codevs 3223 素数密度的更多相关文章

  1. hdu 5901 count prime & code vs 3223 素数密度

    hdu5901题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5901 code vs 3223题目链接:http://codevs.cn/problem ...

  2. Miller-Rabin算法 codevs 1702 素数判定 2

    转载自:http://www.dxmtb.com/blog/miller-rabbin/ 普通的素数测试我们有O(√ n)的试除算法.事实上,我们有O(slog³n)的算法. 定理一:假如p是质数,且 ...

  3. 2019HDU多校第三场F Fansblog——威尔逊定理&&素数密度

    题意 给定一个整数 $P$($10^9 \leq p\leq 1^{14}$),设其前一个质数为 $Q$,求 $Q!  \ \% P$. 分析 暴力...说不定好的板子能过. 根据威尔逊定理,如果 $ ...

  4. [codevs3223]素数密度(筛)

    题目:http://codevs.cn/problem/3223/ 分析: 可以算出来最大质因子最大不超过50000,因为如果超过50000,那么平方就超过maxlongint了.所以可以筛出5000 ...

  5. P1835 素数密度_NOI导刊2011提高(04)

    题目描述 给定区间[L,R](L≤R≤2147483647,R-L≤1000000),请计算区间中素数的个数. 输入输出格式 输入格式: 两个数L和R. 输出格式: 一行,区间中素数的个数. 输入输出 ...

  6. Codevs 1702 素数判定 2(Fermat定理)

    1702 素数判定 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 传送门 题目描述 Description 一个数,他是素数么? 设他为P满足(P< ...

  7. Miller_Rabin codevs 1702 素数判定2

    /* 直接费马小定理 */ #include<iostream> #include<cstdio> #include<cstdlib> #include<ct ...

  8. 素数密度_NOI导刊2011提高(04)

    题目描述 给定区间[L, R](L <= R <= 2147483647,R-L <= 1000000),请计算区间中素数的个数. 输入 两个数 L 和 R. 输出 一行,区间中素数 ...

  9. codevs 1462 素数和

    1462 素数和  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 青铜 Bronze     题目描述 Description 给定2个整数a,b 求出它们之间(不含a,b)所有 ...

随机推荐

  1. 【Python排序搜索基本算法】之Dijkstra算法

    Dijkstra算法和前一篇的Prim算法非常像,区别就在于Dijkstra算法向最短路径树(SPT)中添加顶点的时候,是按照ta与源点的距离顺序进行的.OSPF动态路由协议就是用的Dijkstra算 ...

  2. maven项目中找不到Maven Dependencies解决办法

    用eclipse创建maven项目后,在Deployment Assembly中通过Add...->Java Build Path Entries导入Maven Dependencies时,发现 ...

  3. Jenkins用户组管理

    Jenkins用户组管理 转载2015-06-10 21:44:24 标签:jenkinsrolestrategypluginusergroupcitools 一.安装插件 安装RoleStrateg ...

  4. php-redis扩展模块安装记录

    redis的安装可以参考:centos下部署redis服务环境的操作记录 下面记录下php-redis扩展模块的安装过程:php的安装目录是/Data/app/php5.6.26 下载phpredis ...

  5. redis在Java web项目的简单应用(转载)

    看到一篇关于redis和spring集成的文章,实际测试后,可以.转载以备用.谢谢 亲昵YY! html,body { font-size: 15px } body { font-family: He ...

  6. 两个关于XML解析报错问题小记

    Caused by: org.xml.sax.SAXParseException: The string "--" is not permitted within comments ...

  7. Linux查看端口信息命令

    netstat -tlnp|grep 端口 eg: netstat -tlnp|grep 9889

  8. android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)

    效果图 :                         分别是第一页.第二页.第三页,随手截的图,不整齐,勿见怪.开始走了弯路,废了不少时间. 思路如下: 1.用ViewPager实现左右分页滑动 ...

  9. msxml 操作xml

    1.简介 在.NET平台,微软为C#或托管C++程序员提供了丰富的类库,用以支持各种需求,其中就有对XML文件操作的丰富的类.例如XMLDocument, XmlElement等.但是C++标准库中并 ...

  10. C#txt文件读写基本操作

    string strFileName=@"C:\Users\Administrator\Desktop\记事2.txt"; //判断是否存在 if (File.Exists(str ...