一道水题,三四次才A掉,宝宝心累
#include <stdio.h>
#include <math.h>#include<string.h>
#define N 100000
int prime[N] ;
int elem[N] ;
int elem_num;
int jisuan(int n)
{
return n*n+n+41;
}
int main(){
int t,n,num,cnt,i,flag,ct,a,b,j;
memset(prime,0,sizeof(prime));
for (i=2;i<=N;i++)
{
for (j=2;i*j<N;j++)
{
prime[i*j]=1;
}
}
while(scanf("%d%d",&a,&b),a+b)
{
if(a>b)
{
int temp=a;a=b;b=temp;//想哭,老是忘记这里的交换。万一他前面的比后面的大呢?
}
bool flag=true;
for(int i=a;i<=b;i++)
{
j=jisuan(i);//之前是i=jisuan(i)WA哭
if(prime[j])flag=false;
//printf("%d=%d ",j,prime[j]);
}
if(flag)printf("OK ");
else printf("Sorry ");
}
}