C语言中求素数怎么处理1和2?

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:12:23
从2开始的话:
2%1==0
2%2==0
这样一来2就不会被认为是素数。
这该怎么处理?
多谢了!

if(n<=1)
{
    printf("%d不是素数!\n", n);
    return;
}
else if(n==2)
{
    printf("%d是素数!\n", n);
    return;
}
else
{
    for(i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            printf("%d不是素数!\n", n);
            return;
        }
    }
    printf("%d是素数!\n", n);
    return;
}

可以让循环体从2开始

一般1,2都是单独处理的,
这个和素数的数学定义时,将1,2单独定义是一致的