文章

14

粉丝

49

获赞

0

访问

1.9k

头像
1102 素数判定
我要提问
发布于2024年3月6日 20:02
阅读数 139

#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?

登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年3月6日 20:33

素数筛选的函数写好了,但是你没用啊。。。需要在主函数里调用一下

赞(0)

yanmo : 回复 snake: 噢噢,哈哈哈我太不仔细了

2024年3月6日 21:15