美文网首页
CUC-SUMMER-3-A

CUC-SUMMER-3-A

作者: Nioge | 来源:发表于2017-08-03 00:39 被阅读0次
    A - 素数判定
    HDU - 2012

    对于表达式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


    解法:水题,判断素数时注意时间复杂度,尽量优化算法

    记住重置flag重置flag重置flag

    代码:

    #include<iostream>
    #include<math.h>
    using namespace std;
    
    bool prime(int s){
        for(int i=2;i<sqrt(s+0.5);i++)
            if(s%i==0)
                return false;
        return true;
    }
    
    int main()
    {
        int x,y,s,flag;
        while(cin>>x>>y){
            flag=1;
            if(x==0&&y==0) break;
            for(int i=x;i<=y;i++){
                s=i*i+i+41;
                if(prime(s)==false){
                    flag=0;
                    break;
                }
            }
            if(flag==0)
                cout<<"Sorry"<<endl;
            else
                cout<<"OK"<<endl;
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:CUC-SUMMER-3-A

          本文链接:https://www.haomeiwen.com/subject/jsdulxtx.html