HDU2012 素数判定
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
bool IsPrime(int x)
{
int len = (int)sqrt(x);
for(int i=2; i<=len; i++)
{
if(x%i == 0)
return false;
}
return true;
}
int main()
{
int x, y;
while(cin >> x>> y && !(x==0 && y==0))
{
if(x > y)
{
int temp = x;
x = y;
y = temp;
}
bool flag = true;
for(int i=x; i<=y; i++)
{
int s = i*i + i +41;
if(!IsPrime(s))
{
flag = false;
}
}
if(flag)
{
cout << "OK" << endl;
}
else
{
cout << "Sorry" << endl;
}
}
return 0;
}
计算素数的时候需从2
开始到sqrt(x)
结束