CDOJ--1550&&1731
2024-08-29 07:05:01
原题链接:http://acm.uestc.edu.cn/problems.php?vol=15
分析:首先筛出sqrt(2^31-1)以内的素数,对于给定的区间[L,R],仍然用筛素数的思想把那些是前面筛选出来的素数的倍数的做标记,然后从左到右扫一遍即可。
How many primes
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define maxn 100005
using namespace std;
int prime[maxn],t;
bool ans[];
bool flag[maxn]={false};
void selprime()
{
t=;
for(int i=;i<=;i++)
{
if(!flag[i])
{
prime[t++]=i;
for(int j=;j*i<=;j++)
flag[i*j]=true;
}
}
}
void solve(int m,int n)
{
for(int i=;i<t;i++)
{
if(prime[i]*>n)break;
int j=m/prime[i];
if(j*prime[i]<m)j++;
j=max(j,);
for(;j*prime[i]<=n;j++)
{
ans[j*prime[i]-m]=false;
}
}
}
int main()
{
int m,n;
selprime();
while(~scanf("%d%d",&m,&n))
{
if(m==)m++;
memset(ans,true,sizeof(ans));
solve(m,n);
int res=;
for(int i=;i<=n-m;i++)
{
if(ans[i])res++;
}
printf("%d\n",res);
}
return ;
}
最新文章
- Sqlserver中一直在用又经常被忽略的知识点一
- jquery on()
- C++设计模式-Mediator中介者模式
- 查看apt-get安装软件的版本
- sharepoint更新左侧列表的名字
- 基于ASP.NET MVC定时执行任务调度
- 论文笔记之:Deep Recurrent Q-Learning for Partially Observable MDPs
- Linux下squid代理缓存服务环境部署
- [Android UI] shape和selector的结合使用
- VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置
- RAC 集群更换IP
- 三级联动(ajax)
- Discuz!图片查看插件(支持鼠标缩放、实际大小、旋转、下载)
- 闭包(Closures)
- python--列表的使用
- Ajax.BeginForm返回方法OnSuccess
- RAP在Linux 上的部署
- 【Android Developers Training】 74. 序言:通过无线连接设备
- 如何创建测试程序调试nginx数据结构
- (转)CTP: 平昨仓与平今仓,log轻轻告诉你.......