本文主要是介绍24.素数判定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基础数学 - 初等数论 - 素数判定
Problem-2012
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
知识点
素数(质数):除了1和它本身外,不能被其他自然数整除
#include <iostream>
using namespace std;bool IsPrim(int val)
{for (int i = 2; i < val; i++){if (val % i == 0){return false;}}return true;
}int main()
{int x, y;while (cin >> x >> y){if (x == 0 && y == 0) break;int i = 0;for (i = x; i <= y; i++){if (!IsPrim(i*i+i+41)){cout << "Sorry" << endl;break;}}if (i == y + 1) cout << "OK" << endl;}return 0;
}
这篇关于24.素数判定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!