素数判断模板(C语言)

判断m是否为素数

方法一:

2~n-1有没有能整除的

int isPrime1(int n)
{
    if(n==1)return 0;
    int i;
    for(i = 2; i <= n/2; i++)
    {
        if(n % i ==0)
            return 0;
    }
    return 1;
}

方法二:

2~sqrt(n)有没有能被整除的

int isPrime2(int n)
{
    if(n==1)return 0;
    int i;  //此方法的含义是n如果不能被根号n之间的任何一个整数整除即为素数
    for(i = 2; i <= sqrt(n); i++) //sqrt() <math.h>函数库里的方法 开平方的意思
    {
        if(n % i ==0)
            return 0;
    }
    return 1;
}

方法三:(对于方法二的改进)

int isPrime3(int n)        //此方法和方法2类似
{
    if(n==0) return 0;
    int i;
    int k = sqrt(n);
    for(i = 2; i <= k ; i++)
    {
        if(n % i ==0)
            break;
    }
    if(i >k)
        return 1;
    else
        return 0;
}

猜你喜欢

转载自blog.csdn.net/WQN20172674/article/details/81390333