Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
3065 | 孙浚轩 | 判断素数II | C++ | Accepted | 0 MS | 296 KB | 426 | 2024-03-30 18:09:07 |
#include<iostream> using namespace std; bool st[50000005]; int prime[1000000],p=0; void ola(int n){ st[0]=st[1]=1; for(int i=2;i<=n;i++){ if(!st[i]) prime[p++]=i; int j=0; do{ st[i*prime[j]]=1; if(i%prime[j++]==0) break; }while(j<=p&&i*prime[j-1]<=n); } } int main(){ int n; cin>>n; ola(n); cout<<p; return 0; }