Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
114211 | 彭林江 | 素数检测 | C++ | Accepted | 56 MS | 11976 KB | 498 | 2025-03-22 11:11:48 |
#include<bits/stdc++.h> using namespace std; int is[3000001]; // is[i] = 0 表示i是质数 int main(){ for(int i = 2; i <= 3000000; i++){ if(is[i] == 1){ // 说明i本身都不是质数 continue; // 直接跳过 } for(int j = 2*i; j <= 3000000; j+=i){ is[j] = 1; // j是i的倍数,说明就不是质数,标记成1 } if(i*i > 3000000){ break; } } for(int i = 2; i <= 3000000; i++){ if(is[i] == 0){ cout << i << " "; } } return 0; }