3cf59d321a
* NEW: Files can be dropped from files managers to the project treeview. They are automatically inserted into the project then. [WIKI CGI SCRIPT] * BUG: '{' and '}' are not interpreted anymore between '=='. [BENCHMARKS] * NEW: Add Gambas/Perl/Python benchmarks to the repository. [INTERPRETER] * NEW: A Stop instruction encountered inside a component is not ignored anymore and stops the program. * BUG: Fix the File.SetName, File.SetExt and File.SetBaseName methods. [COMPILER] * NEW: The preprocessor now undestands the False and True constants. [GB.FORM] * NEW: Clean up the Stock class icon loading algorithm. * BUG: Fix the Gnome icon map. [GB.FORM.STOCK] * NEW: Support for svg stock icons. [GB.QT4] * BUG: Drag.Show() now works for DnD operations started outside of the application. [GB.GTK] * BUG: Drag.Show() now works for DnD operations started outside of the application. git-svn-id: svn://localhost/gambas/trunk@3400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
44 lines
870 B
Perl
Executable file
44 lines
870 B
Perl
Executable file
#!/usr/bin/perl -w
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
sub get_primes7($) {
|
|
my ($n) = @_;
|
|
|
|
if ($n < 2) { return (); }
|
|
if ($n == 2) { return (2); }
|
|
# do only odd numbers starting at 3
|
|
my @s = ();
|
|
for (my $i = 3; $i < $n + 1; $i += 2) {
|
|
push(@s, $i);
|
|
}
|
|
# n**0.5 simpler than math.sqr(n)
|
|
my $mroot = $n ** 0.5;
|
|
my $half = scalar @s;
|
|
my $i = 0;
|
|
my $m = 3;
|
|
while ($m <= $mroot) {
|
|
if ($s[$i]) {
|
|
my $j = int(($m*$m - 3) / 2);
|
|
$s[$j] = 0;
|
|
while ($j < $half) {
|
|
$s[$j] = 0;
|
|
$j += $m;
|
|
}
|
|
}
|
|
$i = $i + 1;
|
|
$m = 2*$i + 3;
|
|
}
|
|
my @res = (2);
|
|
foreach (@s) {
|
|
push(@res, $_) if ($_);
|
|
}
|
|
return @res;
|
|
}
|
|
|
|
my @res;
|
|
for (1..10) {
|
|
@res = get_primes7(10000000);
|
|
print scalar @res; print "\n";
|
|
}
|