pokerjest 2017-10-22 22:35 采纳率: 66.7%
浏览 1630
已采纳

oj素数判别,不知道哪错了,求解。。。

/*对于表达式n^2+n+41,
当n在(x,y)范围内取整数值时(包括x,y)
(-39<=x 判定该表达式的值是否都为素数。
*/
#include
#include
bool su(int);
int main(void)
{
int x, y, x1, y1;

while (scanf("%d%d", &x, &y) != EOF)
{
    if(x==0&&y==0)
        break;
    x1 = x*x+x+41;
    y1 = y*y+y+41;
    if(su(x1)&&su(y1))
        printf("OK\n");
    else
        printf("Sorry\n");

    }


return 0;

}
bool su(int x)
{
int i;
for (i=2;i<=x;i++)
{
if(x%i == 0)
break;
}
if(i==x)
return true;
else
return false;
}

  • 写回答

2条回答 默认 最新

  • LT688_58B 2017-10-23 06:57
    关注
    //没有发现问题 
    #include <stdio.h>
    bool su(int);
    int main(void)
    {
        int x, y, x1, y1;
        while (scanf("%d%d", &x, &y) != EOF)
        {
            if((x==0)&&(y==0))
            {
                break;
            }
            x1 = x*x+x+41;
            y1 = y*y+y+41;
            if(  su(x1)  &&  su(y1)  )
                printf("OK\n");
            else
                printf("Sorry\n");
        }
        return 0;
    }
    bool su(int x)
    {
        int i;
        for (i=2;i<=x;i++)
        {
            if((x%i) == 0)
            {
                break;
            }
        }
        if(i==x)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?