Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
3062 | 孙浚轩 | 素数对 | C++ | Accepted | 2 MS | 292 KB | 603 | 2024-03-30 18:05:14 |
#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; bool d=0; cin>>n; ola(n); for(int i=0;i<p;i++){ if(prime[i+1]-prime[i]==2){ d=1; cout<<prime[i]<<" "<<prime[i+1]<<endl; } } if(!d) cout<<"No"; return 0; }