标签 素数判定 下的文章

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