对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。
#include
int main(){
int x=0,y=0,n=0,j=0,i=0,d=0,s=0;
while(scanf("%d%d",&x,&y)!=EOF&& (x || y)){
if(x==0&&y==0) break;
else{
for(n=x;n<=y;n++){
s=n*n+n+41;
for(j=2;jif(n%j==0) d++;
}
}
if(d==0) printf("OK");
else printf("Sorry");
}
}
return 0;
}
回答:写的不错,别的问题都没有,主要是这个被除数应该是 s,我感觉不容易找到测试失败的数据
#include <stdio.h>
int main()
{
int x = 0, y = 0, n = 0, j = 0, i = 0, d = 0, s = 0;
while (scanf("%d %d", &x, &y) != EOF && (x || y))
{
if (x == 0 && y == 0)
break;
else
{
for (n = x; n <= y; n++)
{
s = n * n + n + 41;
printf("s = %d \n", s);
for (j = 2; j < n; j++)
{
if (s % j == 0)
d++;
}
}
if (d == 0)
printf("OK");
else
printf("Sorry");
}
}
return 0;
}
/*
测试数据
-1 0
0 1
-10 10
-39 50
*/