is it a prime

来源:互联网 发布:2016十大网络主播排名 编辑:程序博客网 时间:2024/06/06 02:58

first:  o(n)

int is_prime(int x){    for(int i = 2; i < x; i ++)        if(x % 2 == 0) return 0;    return 1;}

second:  o(logn)

int is_prime(int x){    for(int i = 2; i*i <= x; i ++)    {        if(x % i == 0) return 0;    }    return 1;}
但是i*i可能会溢出。(这种方法慎用。)


three:

int is_prime(int x){    for(int i = 2; i <=floor(sqrt(x)+0.5); i ++)    {        if(x % i == 0) return 0;    }    return 1;}




0 0