逼得我写了个线性筛还是过不去。。。
查看原帖
逼得我写了个线性筛还是过不去。。。
137387
风雷天生楼主2023/8/24 12:56
#include<bits/stdc++.h>
using namespace std;
int l,r,isPrime[1000005],cnt,sum;
int zhishu[1000005];
int main(){
	
	isPrime[1] = 1; 
	for(int i=2;i<=1000000;i++){
		if( isPrime[i]==0 ){
			zhishu[++cnt] = i;
		}
		for(int j=1 ; j<=cnt and i*zhishu[j]<=1000000 ; j++){ // j为已知质数的个数 
			isPrime[ i*zhishu[j] ] = 1;
			if( i%zhishu[j] == 0 ) break;
		}
	} 
	cin >> l >> r;
	for(int i=l;i<=r;i++){
		if(isPrime[i]==0) sum++;
	}
	cout << sum;
	return 0;
}  
2023/8/24 12:56
加载中...