请问一下这个代码哪里出错了

对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"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,我感觉不容易找到测试失败的数据

img

#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
*/