C语言:
素数的判断:
关于素数的判断一般是把输入的n除以区间[2,n-1]中的每个整数,如果有能整除的则说明不是素数。但对于耗时比较高的往往会选择:
(1)[2, n/2+1]
(2)[2, sqrt(n)+1]
(3)先判断是不是除2以外的偶数,再判断[3, sqrt(n) + 1]
这三个区间来代替,他们的耗时依次减少,其中第三个区间能搞定绝大部分要求。
下面就以第三个区间的代码为例:
int isprime(int n){
int i, j, flag = 1;
if(n <= 1)
flag = 0;
else if(n == 2)
flag = 1;
else if