素数密度2
2024-02-17 10:40:09
发布于:浙江
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,cnt = 0,m;
bool vis[4000001] = {0};
int pn[4000001];
cin>>n>>m;
vis[1] = 1;
for(int i = 2;i<=n;i++){
pn[i] = cnt;
if(vis[i]){
continue;
}
else{
cnt++;
for(int j = i+i;j<=n;j+=i){
vis[j] = 1;
}
}
pn[i] = cnt;
}
for(int i = 0;i<m;i++){
int x,y;
cin>>x>>y;
cout<<pn[y]-pn[x-1]<<endl;
}
return 0;
}
全部评论 2
说的好,但是只需要i遍历到根号n就行了
到时候再遍历一次录入pn2024-02-17 来自 广东
0#include<bits/stdc++.h>
using namespace std;
int main(){
string x;
int sum = 0;
cin>>x;
for(int i = 0;i<x.length();i++){
x[i]-='0';
sum*=10;
sum+=x[i];
}
cout<<sum;
return 0;
}2024-02-17 来自 浙江
0
有帮助,赞一个