Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
68345 teacher_wang 埃氏筛法求区间质数 C++ 通过 0 MS 256 KB 635 2025-09-30 16:10:34

Tests(1/1):


#include <bits/stdc++.h> using namespace std; int main() { int n,flag[1010],primes[1010],cnt=0; cin>>n; flag[0] = flag[1] = 0; for(int i = 2; i <= n; i ++) flag[i] = 1; for(int i = 2; i <= n;i ++){ // 如果i是质数,存到primes数组中 if(flag[i]==1){ primes[cnt] = i; cnt ++; } // 根据当前的质数表,筛掉合数 for(int j = 0;i*primes[j] <= n;j ++) { flag[i*primes[j]] = 0; if(i%primes[j]==0) break; } } // 输出所有质数 for(int i = 0; i <= n; i ++){ if(flag[i]==1){ cout<<i<<" "; } } return 0; }


测评信息: