标注//答案的代码求素数,57竟然是判定为不是素数,很奇怪啊

img

57本来就不是素数,3*19=57

素数判断函数:

int isprime(int a)
{
    int i;
    if (a==2){
        printf("是素数");
        return 1;
    }else if(a<2){
        printf("不是素数");
        return 0;
    }
    for (i=2;i<=sqrt((double)a);i++){
        if (a%i==0){
            printf("不是素数");
            return 0;
        }
    }
    printf("是素数");
    return 1;
}

这个判定能识别素数的平方么。。感觉对9,25之类的会返回素数。。

3*19=57所以57不是的