46 RE
查看原帖
46 RE
1058749
King_and_Grey楼主2024/6/15 21:57

玄关

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN = 1e8 + 5;
bool isPrime[MAXN];
int prime[MAXN],cnt,l,n,ans;
signed main (){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin >> l >> n;
	memset(isPrime, true, sizeof(isPrime));
	isPrime[1] = false; 
	for(int i = 2; i <= n; i++) {
        if(isPrime[i]){
            prime[++cnt] = i;
        }
        for(int j = 1; j <= cnt && i * prime[j] <= n; j++){
            isPrime[i * prime[j]] = false;
            if(i % prime[j] == 0){
                break;
            }
        }
    }
	for(int i = l;i <= n;i++){
		if(isPrime[i] == true) {
			ans++;
		}
	}
	cout << ans << endl; 
	return 0;  
}
2024/6/15 21:57
加载中...