- 定位:《趣学算法》P19
- 属性:素数问题
- 难度:入门
- 代码:
//#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
using namespace std;
const int N=5000;
int n,p,q,i,j;
int prime[N];
void isprime(int nnn){
for(i=2;i<=nnn;i++){
for(j=i*i;j<=nnn;j+=i){
if(!prime[j]){
prime[j]=1;
}
}
}
}
void fun(int nn){
for(i=4;i<nn;i+=2){
p++;
for(j=2;j<i;j++){
if((!prime[j])&&(!prime[i-j])){
q++;
// printf("%d=%d+%d\n",i,j,i-j);
break;
}
}
}
}
int main(){
cin>>n;
isprime(n);
fun(n);
if(p==q&&p!=0){
cout<<"Right!";
}else{
cout<<"Error!";
}
return 0;
}
- 感悟:素数筛
- 归档:已归档
- 元魂:安杜路兽