这是一到简单的题目,不过有点奇怪,我用c++是31ms,而c 46ms,有兴趣的人可以自己去探讨下,另外还有就是筛选也比较快,大家可以做下hud 1397,用我下面的方法是不可以过的,但是筛选既可以了。
c++ source code:
#include<iostream>
using namespace std;
int Prime(int n)
{
int flag=1;
for(int i=2;i*i<=n;i++)
if(n%i==0)
{
flag=0;
return 0;
}
if(flag==1)
return 1;
}
int main()
{
int j,n;
while(cin>>n,n)
{
j=0;
for(int i=2;i<n/2;i++)
{
if(Prime(i)==1&&Prime(n-i)==1)
{
j++;
}
}
cout<<j<<endl;
}
return 0;
}
c source code:
#include<stdio.h>
int Prime(int n)
{
int flag=1;
for(int i=2;i*i<=n;i++)
if(n%i==0)
{
flag=0;
return 0;
}
if(flag==1)
return 1;
}
int main()
{
int j,n;
while(scanf("%d",&n)!=EOF&&n)//(cin>>n,n)
{
j=0;
for(int i=2;i<n/2;i++)
{
if(Prime(i)==1&&Prime(n-i)==1)
{
j++;
//cout<<i<<" "<<n-i<<endl;
}
}
printf("%d/n",j);//cout<<j<<endl;
}
return 0;
}