int prime(int n)
{
if(n<=1)
return 0;
int i;
for( i=2; i*i<=n; i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int twinNumber(int x, int y){
int k=0;
if(x>0&&y>0){
for(int i=x;i<=y;i++)
{
if(prime(i)&&prime(i+2))
{
k++;
}
}
return k;}
}
i=x;i<=y
prime(i)&&prime(i+2)
当i取到y的时候,i+2取到y+2了,超范围了,那不多算了吗
改成
i=x;i<=y-2
-=-=-=-=-
你想吧,5和7是孪生素数,如果我传入5,6,那么5,6之间应该没有孪生素数,但是按你的逻辑跑就能输出一组