#include<stdio.h>
main()
{
int prime(int);
int x,y,i,f=0;
while(scanf("%d%d",&x,&y),x||y)
{
for(i=x;i<=y;i++)
{
if(prime(i^2+i+41)) //这个没有通过的原因是应该
f++; //改成i*i
else
break;
if(f==y-x+1)
printf("OK\n");
else
printf("Sorry");
}
}
}
int prime(int n)
{
int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0;
return(flag);
}
下面正确的
#include<stdio.h>
main()
{
int prime(int);
int x,y;
while(scanf("%d%d",&x,&y),x||y)
{
int f=0;
for(int i=x;i<=y;i++)
{
if(prime(i*i+i+41))
f++;
else
break;
}
if(f==y-x+1)
printf("OK\n");
else
printf("Sorry\n");
}
}
int prime(int n)
{
int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0;
return(flag);
}