HDOJ2012-素数判定

Problem Description
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。
 

Input

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

Output

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

Sample Input

0 1
0 0
 

Sample Output

OK

代码实现:

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int x,y,i,j,flag,n;
 6     while(scanf("%d%d",&x,&y)!=EOF)
 7     {
 8         if(x==0&&y==0) printf("");
 9         else
10         {
11             for(i=x;i<=y;i++)
12             {
13                 flag=0;
14                 n=i*i+i+41;
15                 for(j=2;j<=sqrt(n);j++)
16                     if(n%j==0)
17                     {
18                         printf("Sorry
");
19                         flag=1;break;
20                     }
21                 if(flag==1) break;
22             }
23             if(flag==0) printf("OK
");
24         }
25     }
26     return 0;
27 }

1.注意break的应用。

原文地址:https://www.cnblogs.com/hhccdf/p/4348301.html