杭电OJ 2012题 总是Wrong Answer,但是找不到错在哪里TAT求助!!!

2025-01-01 12:22:07
推荐回答(2个)
回答1:

#include
#include
int check(int x)
{
int i;
for (i = 2; i <= (x / 2 + 1); i++)
if (x%i == 0)
break;
if (i>(x / 2 + 1))   //i肯定比1大,只需要判断i是循环结束的值还是break的值
return 0;
return 1;
}
int main()
{
int x, y;
int result, a, b;
while (scanf("%d%d", &x, &y) != EOF) 
{
if (x == 0 && y == 0)
break;
bool okay = true;
for (a = x; a <= y; a++)
{
result = a*a + a + 41;
b = check(result);
if (b == 1)
{
printf("Sorry\n");
okay = false;
break;
}
}
if (okay) printf("OK\n"); //没有okay的判断如果是Sorry那还要输出OK
}
return 0;
}

以上代码已经AC

回答2:

...你不发代码找毛线...