- 素数问题
60分
- @ 2026-6-29 13:21:25
#include<bits/stdc++.h>
using namespace std;
int n,a[10000005],b[10000005],c[10000005],d[10000005];
int main(){
scanf("%d",&n);
d[0]=1;
d[1]=1;
for(int i = 2;i<=sqrt(1e7);i++){
if(d[i]==0){
for(int j = i*i;j<=1e7;j+=i){
d[j]=1;
}
}
}
for(int i = 1;i<=1000000;i++){
c[i]=c[i-1]+!d[i];
}
for(int i = 1;i<=n;i++){
scanf("%d",&b[i]);
if(b[i]==0)cout<<0<<endl;
else cout<<c[b[i]]<<endl;
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 4787
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 27
- 已通过
- 2
- 上传者