就是 帮忙看一下 这道题 的解答 有什么错谢谢
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
就是 试了 一下 给的 数据 都对了 但是 就是 说 提交 结果错误
#include<stdio.h>
int s(int m);
int main()
{
int x,y,a;
while(1){
scanf("%d%d",&x,&y);
if(x==0&&y==0)break;
for(a=1;x<=y;x++){
if(!s((x*x)+x+41)){
a=0;
break;
}
}
if(a==1)
printf("Ok\n");
else
printf("Sorry\n");
}
return 0;
}
int s(int m)
{
int n;
if (m==2)
return 0;
for(n=2;n<m;n++){
if(m%n==0)
return 0;
}
return 1;
}