学长只能帮你到这儿了01-HDU2012

来源:互联网 发布:云计算特征 编辑:程序博客网 时间:2024/05/01 09:40

素数判定

Time Limit: 2000/1000 MS (Java/Others)    MemoryLimit: 65536/32768 K (Java/Others)
Total Submission(s): 48349    Accepted Submission(s): 16496

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

 

#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    int i,j,n,x,y,su[5000],t,p=1;
    su[2]=1;
    for(i=2;i<5000;i++){
        t=0;
        for(j=2;j*j<=i;j++)
            if( i%j == 0 ) {
                t=1;
                break;
            }
            if(t==0)su[i]=1;
    }
 
    while( scanf("%d%d", &x, &y) != EOF ){
        if( x==0 && y==0 ) break;
        t=0;
        for(i=x;i<=y;i++){
           p=i*i+i+41;
           if(su[p]==0){
               printf("Sorry\n");
               t=1;
           }
           if(t==1)break;
        }
        if(t==0)printf("OK\n");
    }
    return 0;
}

 

原创粉丝点击