这题扣了2分,不知道原因,失分点是“运行超时”
#include <stdio.h>
int xys(int a, int n) //找到a的下一个素数,并且不能大于n
{
int k,i;
a++;
k = 1;
while(1)
{
for(i=2; i<= a/2; i++)
if(a%i == 0)
{
k = 0;
break;
}
if(a == n && k == 0) break;
else if( !k ) a++,k++;
else {k++;break;}
}
if(!k) return 0;
else return a;
}
int main()
{
int a,b,n;
int sum = 0;
scanf("%d", &n);
a = 3;
if(n<4) sum = 0;
else
{
while(a < n)
{
b = xys(a, n);
if(!a) break;
else if(b-a == 2) sum++;
a = b;
}
}
printf("%d",sum);
//system("pause"); 可有可无;
return 0;
}