文章
14
粉丝
80
获赞
0
访问
11.2k
#include<bits/stdc++.h>
using namespace std;
//线性素数筛选,prime[0]存储素数个数
const int maxn=1000000+5;
int prime[maxn];
void getprime(){
memset(prime,0,sizeof(prime));
for(int i=2;i<=maxn;i++){
if(!prime[i]) prime[++prime[0]]=i;
for(int j=1;j<=prime[0]&&prime[j]*i<=maxn;j++){
prime[prime[j]*i]=1;
if(i%prime[j]==0) break;
}
}
}
int main(){
int a,b;
while(cin>>a>>b){
if(a>b) swap(a,b);
int ans=0;
for(int i=1;i<=prime[0];i++){
//if(prime[i]>=a&&prime[i]<=b) ans++;
//if(prime[i]>b) break;
if(prime[i]>=a) ans++;
if(prime[i]>b){
ans--;
break;
}
}
cout<<ans<<endl;
}
}
运行后为啥输出的全是0?
登录后发布评论
素数筛选的函数写好了,但是你没用啊。。。需要在主函数里调用一下