Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1563734
  • 博文数量: 289
  • 博客积分: 11086
  • 博客等级: 上将
  • 技术积分: 3291
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 17:06
个人简介

徐小玉的博客。

文章分类

全部博文(289)

文章存档

2023年(6)

2022年(1)

2021年(2)

2020年(9)

2019年(9)

2018年(6)

2017年(10)

2016年(10)

2014年(3)

2013年(4)

2011年(12)

2010年(16)

2009年(14)

2008年(119)

2007年(48)

2006年(20)

我的朋友

分类:

2008-04-29 15:03:36

#!/usr/bin/perl -w
# 基本思路: 从2开始,把每个2的倍数去掉,2  之后是3,5,7。。。。 依次类推
use strict;
my $factor_number;        #使用这个参数来确定要循环的次数,
my $list=" ";             #把2..200的数转成按空格分的串存放
my $cur_prime;           #当前素数
my @restlt;              #存放最后结果
my $temp;                # 在替换合数时用的中间变量
my $t;                  # 一列列的打印数组用到的变量
foreach( 2..200)

  $list=$list." ".$_;                          # 成串
}
until ($list !~ /^\s+([0-9]+)\s+/)             #直到最后  
{
if ( $list =~ /^\s*([0-9]+)\s+/ )             # 取到队列的第一个数
{
   push @restlt ,$1;                          #存到结果里
  $cur_prime=$1;
}
$factor_number = int(200 / $cur_prime)  ;  # 能有多少个
for (my $i=1; $i<=$factor_number;$i++)
{
  my $temp = $cur_prime*$i;
 $list =~ s/\s+$temp\s+/ / ;
}
}
#print "the prime are : \n @restlt\n";
my $count = @restlt;
print "\t\t THERE ARE $count prime numbers BETWEEN 2 TO 200\n";
print "Print the prime numbers in lines :\n";
foreach $t(@restlt)
{
   print "$t\n";
}

 
阅读(1536) | 评论(0) | 转发(0) |
0

上一篇:高级5: 强密码问题

下一篇:Spirit Houses

给主人留下些什么吧!~~