原题:

 

Problem Description
  对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x

 

Input
  输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。

 

Output
  对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。

 

Sample Input
  0 1
0 0

 

Sample Output
  OK

源码:

#include #include int main() {     int m,n,f;     double k;     while(scanf("%d%d",&m,&n)&&(m!=0||n!=0))     {         f=0;         k=sqrt(n*n+n+41);         for(int i=m; i<=n; i++)         {             int ans=i*i+i+41;             for(int j=2; j<=k; j++)             {                 if(ans%j==0)                 {                     f=1;                     break;                 }             }         }         if(!f)             printf("OK\n");         else             printf("Sorry\n");     }     return 0; }