/*
*
*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
*
*
*Author
*lcy
*
*
*Source
*C语言程序设计练习(二)
*
*
*Recommend
*JGShining
*
*/
#include<iostream>
using namespace std;
bool is_prime_num(int num) {
for (int i = 2; i * i < num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int x, y;
int num;
bool is_prime;
while (cin >> x >> y) {
is_prime = 1;
if (x == 0 && y == 0) break;
for (int n = x; n <= y; n++) {
num = n * n + n + 41;
if (!is_prime_num(num)) {
cout << "Sorry\n";
is_prime = 0;
break;
}
}
if (is_prime) cout << "OK\n";
}
system("pause");
return 0;
}
hdu_problem_2012_素数判定
最新推荐文章于 2020-03-03 16:07:23 发布