# re: 一个求素数的算法(不懂) 回复 更多评论
2008-05-08 12:17 by
while $arr[j] * $arr[j] <=number (若number有一大于其平方根的因子,则必有小于其平方根的因子,在此之前必已返回false。故此当$arr[j] * $arr[j] >number时循环即可中止 )
return false if number % $arr[j] ==0(如果number能被arr[j]整除,当然不是素数,故返回false)
# re: 一个求素数的算法(不懂) 回复 更多评论
2008-05-08 14:10 by
@郑晖
$arr[] 数组存储的是小于number的素数集合
return false if number % $arr[j] ==0 $arr[j] 是小于number的某一个素数
这就是我搞不懂的,实际上,我们熟知的判断素数方法是:
for(i=0; i<sqrt(number); i++) // 或者 i*i < number
{
if(number%i == 0) return false;
}
return true;
你说的是这个吧