HDOJ2098
素数打表
ac代码如下`
#include <iostream>
#include <cmath>
#include <cstdio>
#include <stack>
#include <string>
using namespace std;
#define maxn 10050
int vis[maxn]={1,1};
void prime(){
for(int i =2;i <= (int)sqrt(maxn+0.5);i++){
for(int j = i*i;j< maxn;j+=i){
if(!vis[j]){
vis[j] = 1;
}
}
}
}
int main(){
prime();
int n;
int m;
int i;
int cnt;
while(cin>>n && n!= 0){
cnt = 0;
m = n /2;
for(i =0 ;i <= m;i++){
if(!vis[i]){
if(!vis[n-i]){
if(n/2 != i){
cnt++;
}
}
}
}
cout<<cnt<<endl;
}
return 0;
}
用到的是eratosthes 筛法;