作业比赛编号 : 100000591 - 《算法笔记》5.4小节——数学问题->素数问题 C: Goldbach’s Conjecture
题意为:任何不小于4的偶数都可以找到至少一组两个素数的和
4=2+2;
10=5+5=3+7
代码
#include<cstdio>
#include<cmath>
bool primer(int n)
{
int k=sqrt(n);
for(int i=2;i<=k;i++)
if(n%i==0) return false;
return true;
}
int main()
{
int n;
int i;
while(scanf("%d",&n)!=EOF)
{
int k=0;
if(n==0) break;
for(i=2;i<=n/2;i++)
if(primer(i)){
if(primer(n-i))
k++;
}
printf("%d\n",k);
}
return 0;
}
/**************************************************************
Problem: 2125
User: --------
Language: C++
Result: 正确
Time:5 ms
Memory:1192 kb
****************************************************************/