HDU - 2012 素数判定 解题

                       素数判定

                                Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
                                     Total Submission(s): 140168    Accepted Submission(s): 49576


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 int main()
 3 {
 4     int fun(int x);
 5     void fun1(int x,int y);
 6     int x,y;
 7     while(scanf("%d%d",&x,&y),x,y)
 8     {
 9         fun1(x,y);
10     }
11     return 0;
12 }
13 int fun(int x)
14 {
15     int i;
16     for(i=2;i<x/2;i++)
17     {
18         if(x%i==0) return 0;
19     }
20     return 1;
21 }
22 void fun1(int x,int y)
23 {
24     int i,n,k;
25     for(i=x;i<=y;i++)
26     {
27         n=i*i+i+41;
28         k=fun(n);
29         if(k!=1)
30         {
31             printf("Sorry\n");
32             return;
33         }
34     }
35     printf("OK\n");    
36 }

 

posted @ 2017-07-19 11:22  丿月华丶唯少  阅读(152)  评论(0编辑  收藏  举报