杭电OJ2012素数判定

2018-03-22T13:42:45

对于表达式n^2+n+41,当n为整数时最小值为41。

“对于每个范围内的取值...”说明每组数据都需要判断一次并输出OK或者Sorry(一直以为多组数据输入完了,再判断一次,emmm)

#include <iostream>
using namespace std;

int main() {
    int x, y, z;
    while (cin >> x >> y) {
        // 如果输入了0 0 那么结束
        if (x == 0 && y == 0)
            return 0;
        // 使x始终是小的
        if (x > y) {
            int t;
            t = y;
            y = x;
            x = t;
        }
        bool m = true; // 每次进行初始化
        for (int i = x; i <= y; ++i) {
            z = i * i + i + 41;
            for (int j = 2; j < z; ++j) {
                if (z % j == 0) {  // 不是素数,那么m为false
                    m = false;
                }
            }
        }
        if (m){
            cout << "OK" << endl;
        }else
            cout << "Sorry" << endl;
    }
}

 

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。