use strict; use warnings; my @prime = 2; for my $i(3..100){ print "$i...\n"; push @prime, $i; for(@prime){ if(int($i/$_)==($i/$_) and $i!=$_){ for(@prime){ $_=~s/$i//; } } } } for(@prime){ print "$_\n"; } #### use strict; use warnings; my @prime = 2; for my $i(3..100){ print "$i...\n"; my $is_prime = 1; for(@prime){ if(int($i/$_)==($i/$_) and $i!=$_){ $is_prime = 0; last; } } push @prime, $i if $is_prime; } for(@prime){ print "$_\n"; } #### use strict; use warnings; use List::MoreUtils qw/any/; my @prime = 2; for my $i(3..100){ push @prime, $i unless any { int($i/$_)==($i/$_) and $i!=$_ } @prime; } for(@prime){ print "$_\n"; }