📄 3511.cpp
字号:
#include"stdio.h"
#include"math.h"
#include"vector"
#include"iostream"
#define N 1000000
using namespace std;
vector<bool> a(N + 1, true);
int main()
{
int i;int k=1;
vector<int> arimes;
int Time = 0;
for (int I = 2; I <= N; I++)
{
if (a[I])
{
arimes.push_back(I);
}
for (int J = 0; J < (int)arimes.size() && I * arimes[J] <= N; J++)
{
a[I * arimes[J]] = false;
if (I % arimes[J] == 0) break;//关键一句,防止重复标记
}
}
int l,u,x,y;int le,ri;int mid;
while(scanf("%d %d",&l,&u)&&!(l==-1&&u==-1))
{
le=0;ri=arimes.size();x=0;y=0;
while(le<ri)
{
mid=(le+ri)/2;
if(arimes[mid]<l)
{
le=mid+1;
}
else if(arimes[mid]>l)
ri=mid-1;
else break;
}
i=mid-2;
if(i<0)i=0;
while(arimes[i]<=u&&i<arimes.size())
{
if(arimes[i]>=l)
{
x++;
if(arimes[i]%4==1||arimes[i]==2)
y++;
}
i++;
}
printf("%d %d %d %d\n",l,u,x,y);
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -