1. 程式人生 > >HDU - 2012 素數判定 解題

HDU - 2012 素數判定 解題

acc bmi mission 給定 tro span 整數 ane amp

                       素數判定

                                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 }

HDU - 2012 素數判定 解題