Thread Primzahlen finden: wie würdet ihr es machen ? (16 answers)
Opened by Matze at 2006-05-15 14:13

lichtkind
 2006-05-15 16:29
#66107 #66107
User since
2004-03-22
5680 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
schnellst methode primzahlen zu sieben ist das sieb des eresthotenes:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
use strict;

my $max = 100; # obergrenze bis wohin wir berechnen
my @sieb=(0..$max); # sieb des erestothenes

for my $i (2..($max/2)){
next unless $sieb[$i];
$sieb[$i*$_] = 0 for 2..int $max/$i;
}

# ausgabe
for my $i (2..$max) { print "$sieb[$i] " if $sieb[$i] }


bei sher grossen zahlen vielleicht besser


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
use strict;

my $max = 100; # obergrenze bis wohin wir berechnen
my @sieb = $max; # sieb des erestothenes

for my $i (2..($max/2)){
next if $sieb[$i];
$sieb[$i*$_] = 1 for 2..int $max/$i;
}

# ausgabe
for my $i (2..$max) { print "$i " unless $sieb[$i] }
\n\n

<!--EDIT|lichtkind|1147696965-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.

View full thread Primzahlen finden: wie würdet ihr es machen ?