  
- UID
- 1
- 威望
- 1240 点
- 金钱
- 24019 金币
- 点卡
- 317 点
|
1#
发表于 2005-8-25 20:15
| 只看该作者
寻找质数
来源:www.leohacks.com- #!/usr/bin/perl
- my $startingtime=(times)[0]+(times)[1];
- use strict;
- use CGI;
- our $CGI = new CGI;
- print $CGI->header( -charset => ';gb2312'; );
- my $testtime="100000000";#找到多少为止(X2)
- my $number="1";#从1开始
- my $b="1";# 2也算一个
- print "2 ";# 2是唯一的偶数质数
- for (1 ... $testtime) {
- $number=$number + 2;#只算奇数
- my $a="";
- for (';2';,';3';,';5';,';7';,';11';,';13';,';17';,';19';) {# 20以内的质数
- if((($number / $_) eq int($number / $_))&&($number ne $_)){$a.="yes ";}else{$a.="no "}#是否不能被整除
- }
- next if ($a=~/yes/);
- $b++;
- print "$number ";#后面留一空格以区分
- }
- print "\n<br>计算$testtime个数消耗时间: ".sprintf("%.2f",((times)[0]+(times)[1]-$startingtime)*1000)."毫秒,共找到$b个质数";
- exit;
复制代码 再一次:- #!/usr/bin/perl
- $| = 1;
- my $testtime = 10000;
- my $number = 1;
- my $b = 1;
- printf (';%d ';, 2);
- LINK:
- for (my $i=3;$i<$testtime;$i+=2)
- {
- for (3 ... int ($i / 3))
- {
- if ($i % $_ eq 0)
- {
- next LINK;
- }
- }
- $b++;
- printf (';%d ';, $i);
- }
- printf ("\n<br>計算%d個數消耗時間: %.2f毫秒,共找到%d個質數", $testtime, (times)[0] + (times)[1] * 1000, $b);
- __END__
复制代码 中間改成- for (my $j=3;$j<int ($i / 3);$j+=2)
- {
- if ($i % $_ eq 0)
- {
- next LINK;
- }
- }
复制代码 應該會比較好 |
我是一个呼吸着现在的空气而生活在过去的人
这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
我已习惯了孤独,爱上孤独
他让我看清了自我,还原了自我
让我再静静的沉思中得到快乐和满足
再孤独的世界里我一遍又一遍
不厌其烦的改写着自己的过去
延伸到现在与未来
然而那只是泡沫般的美梦
产生的时刻又伴随着破灭的到来
在灰飞烟灭的瞬间我看到的是过程的美丽
而不是结果的悲哀。。。
|
|