标签:http shai ble print eof int memset using getchar
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std; const int maxn=5000005; int prime[maxn]; bool sf[maxn]; int jg[maxn]; int n, l, r; int kd(){ int x=0, f=1; char c=getchar(); while(c>‘9‘||c<‘0‘) { if(c==‘-‘) f=-1; c=getchar(); } while(c>=‘0‘&&c<=‘9‘) x=x*10+c-‘0‘, c=getchar(); return x*f; } void cnt(int m){ int ans=0; for(int i=1; i<=m; i++){ if(sf[i]) ans++; jg[i]=ans; } } void shai(int m){ int num=0; memset(sf,true,sizeof(sf)); for(int i=2; i<=m; i++){ if(sf[i]) prime[++num]=i; for(int j=1; j<=num; j++){ if(i*prime[j]>maxn) break; sf[i*prime[j]]=false; if(i%prime[j]==0) break; } } sf[1]=false; sf[0]=false; } int main(){ n=kd(); shai(5000001); cnt(5000001); for(int i=1; i<=n; i++){ l=kd(),r=kd(); int cnt=0; printf("%d\n",jg[r]-jg[l-1]); } return 0; }
标签:http shai ble print eof int memset using getchar
原文地址:https://www.cnblogs.com/Aze-qwq/p/9337773.html