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

HDU 2012 素數判定

注意素數的概念:是一個數除了1和它自身,沒有其他可以整除得數,這樣的數叫做素數。
#include<stdio.h>
#include <stdbool.h>
bool is_prime(int n){
    if(n < 2){
        return false;
    }
    for(int i=2;i*i <= n;i++){
        if(n%i ==0){
            return false;
        }
    }
    return true;
}
int main(){
    int x,y;
    while(scanf("%d %d",&x,&y)!= EOF){
        if(x >= -39 && x <= 50 && y >= -39 && y <= 50){
            //xy in -39~50
            if(x>y){
                x= x+y;
                y=x-y;
                x=x-y;
            }
            if(x==0 && y==0){
                break;
            }
            int count = 0,m = 0;
            for(int n=x;n<=y;n++){
                int expression =  n*n + n +41;
                count++;
                //printf("%d\n",expression);
                if(is_prime(expression) ){
                    m++;
                }
            }
            if(count != m){
                printf("Sorry\n");
            }else{
                printf("OK\n");
            }


            //ok



        }


    }

    return 0;


}