题目大意:给出X和Y ,判断当X<=n<=Y时,n*n+n+41是否全身素数。
算法思想:
简单的素数判定,你懂得!
#include <iostream>
using namespace std;
bool IsPrime(int n){
bool flag=true;
for(int i=2;i*i<=n;i++){
if(n%i==0){
flag=false;
break;
}
}
return flag;
}
int main(){
int x,y;
while(cin>>x>>y&&(x!=0||y!=0)){
int sum;
bool flag=true;
for(int i=x;i<=y;i++){
sum=i*i+i+41;
if(!IsPrime(sum)){
flag=false;
break;
}
}
if(flag) cout<<"OK"<<endl;
else cout<<"Sorry"<<endl;
}
return 0;
}
代码如下: