判断一个整数是否素数。刚才在网上搜了一下,竟然发现有人在到处找什么一百万以内、一亿以内的素数表,纳闷ing...,几行代码不就出来了么?还找个什么劲。
sub prime_judge {
my $n = $_[0];
return 1 if ($n == 2); # 2 是唯一的偶数素数
return 0 unless ($n % 2); # 其它偶数为非素数
my $factor = int(sqrt($n)) + 1;
for (my $i=3; $i<=$factor; $i+=2)
{ return 0 unless ($n % $i) }
return 1;
}
没有评论:
发表评论