在下偏向于写个判断是否为素数的bool函数,主函数再进行调用,if true 则继续,else直接跳出,“sorry”.
最后需要加分支,如果count==y-x+1,才可以输出OK;
代码如下:
#include <iostream> using namespace std; bool isPrime(int a) { if(a<=1) return false; if(a==2||a==3||a==5||a==7) return true; for(int i=2;i*i<=a;i++) if(a%i==0) return false; return true; } int main() { int x,y,count=0; while(cin>>x>>y,x!= 0 && y != 0) { int n=x; for(;n<=y;n++){ if(!isPrime(n*n+n+41){ cout<<"Sorry"<<endl; break; } count++; } if(count==y-x+1) cout<<"OK"<<endl; } }