6 条题解
-
0
刚学的热乎的素数筛 ```#include<stdio.h> #include<math.h> const int n=1e6+5; int box[1000000]; void primes(); int main() { int t; scanf("%d",&t); primes(); box[0]=1; box[1]=1; while(t--) { int cnt=0; int m; scanf("%d",&m); for(int i=2;i<=m;i++) { if((box[i]==0&&box[i-1]==0)||(box[i]==0&&box[i-2]==0)) { cnt++; } } printf("%d\n",cnt); } } void primes() { for(int i=2;i<=n;i++) { if(box[i]==0) { for(int j=i+i;j<=n;j+=i) { box[j]=1; } } } } `````` `````````
信息
- ID
- 128
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 1653
- 已通过
- 223
- 上传者