Discuter:Crible d'Ératosthène

Un article de Wikipédia, l'encyclopédie libre.

Bonjour,

La table a été construite avec un programme en perl dont voici le source : Pour l'utiliser tapper en ligne de commande :

perl crible.pl > prem.html

et éditer le fichier obtenu pour supprimer le </tr> du début.

Ce n'est pas la perfection.

COLETTE 21:20 mar 29, 2003 (CET)


#!/usr/bin/perl

$N=500;

for ($i=0; $i<$N; $i++) {
    $a[$i]=1;
    $c[$i]=0;
}

$a[0]=0;
$a[1]=0;
$i=2;
$k=0;
while ($i<=$N)  {
    $paspremier=1;
    while ($paspremier && ($i<=$N)) {
        $paspremier=($a[$i]==0);
        $i++;
    }
    $i--;
    $k++;
    $c[$i]=$k;
    $j=2;
    while ($j*$i<=$N) {
        if ($a[$i*$j]==1)
        {
            $c[$i*$j]=$k;
        }
        $a[$i*$j]=0;
        $j++;
    }
    $i++;
}

@cou=("yellow", "\"#0000ff\"", "\"#ff0000\"", "\"#deff7d\"", "\"#de7fff\"", "\"#1571ff\"", "\"#15ff8c\"", "\"#92ba8c\"", "\"#92008c\"", "\"#b04f6f\"", "\"#b04fe6\"", "\"#b0ffe6\"", "\"#1f99d5\"", "\"#ad26d5\"", "\"#deabd5\"", "\"#1fffff\"", "\"#ffff23\"", "\"#ffe09d\"", "\"#f9cdff\"", "\"#f9cd15\"", "\"#5affbc\"",
"\"#7f7fe2\"", "\"#51964f\"", "\"#ff9782\"", "\"#0077c0\"", "\"#00cbcb\"", "\"#8c38cb\"", "\"#d5aecb\"", "\"#d5ae4f\"", "\"#00d9ff\"", "\"#a59758\"",  "\"#ffc6c7\"", "\"#ffc0c0\"",
"yellow", "\"#0000ff\"", "\"#ff0000\"", "\"#deff7d\"", "\"#de7fff\"", "\"#1571ff\"", "\"#15ff8c\"", "\"#92ba8c\"", "\"#92008c\"", "\"#b04f6f\"", "\"#b04fe6\"", "\"#b0ffe6\"", "\"#1f99d5\"", "\"#ad26d5\"", "\"#deabd5\"", "\"#1fffff\"", "\"#ffff23\"", "\"#ffe09d\"", "\"#f9cdff\"", "\"#f9cd15\"", "\"#5affbc\"",
"\"#7f7fe2\"", "\"#51964f\"", "\"#ff9782\"", "\"#0077c0\"", "\"#00cbcb\"", "\"#8c38cb\"", "\"#d5aecb\"", "\"#d5ae4f\"", "\"#00d9ff\"", "\"#a59758\"",  "\"#ffc6c7\"", "\"#ffc0c0\"",
"yellow", "\"#0000ff\"", "\"#ff0000\"", "\"#deff7d\"", "\"#de7fff\"", "\"#1571ff\"", "\"#15ff8c\"", "\"#92ba8c\"", "\"#92008c\"", "\"#b04f6f\"", "\"#b04fe6\"", "\"#b0ffe6\"", "\"#1f99d5\"", "\"#ad26d5\"", "\"#deabd5\"", "\"#1fffff\"", "\"#ffff23\"", "\"#ffe09d\"", "\"#f9cdff\"", "\"#f9cd15\"", "\"#5affbc\"",
"\"#7f7fe2\"", "\"#51964f\"", "\"#ff9782\"", "\"#0077c0\"", "\"#00cbcb\"", "\"#8c38cb\"", "\"#d5aecb\"", "\"#d5ae4f\"", "\"#00d9ff\"", "\"#a59758\"",  "\"#ffc6c7\"", "\"#ffc0c0\"",
"yellow", "\"#0000ff\"", "\"#ff0000\"", "\"#deff7d\"", "\"#de7fff\"", "\"#1571ff\"", "\"#15ff8c\"", "\"#92ba8c\"", "\"#92008c\"", "\"#b04f6f\"", "\"#b04fe6\"", "\"#b0ffe6\"", "\"#1f99d5\"", "\"#ad26d5\"", "\"#deabd5\"", "\"#1fffff\"", "\"#ffff23\"", "\"#ffe09d\"", "\"#f9cdff\"", "\"#f9cd15\"", "\"#5affbc\"",
"\"#7f7fe2\"", "\"#51964f\"", "\"#ff9782\"", "\"#0077c0\"", "\"#00cbcb\"", "\"#8c38cb\"", "\"#d5aecb\"", "\"#d5ae4f\"", "\"#00d9ff\"", "\"#a59758\"",  "\"#ffc6c7\"", "\"#ffc0c0\"",
"yellow", "\"#0000ff\"", "\"#ff0000\"", "\"#deff7d\"", "\"#de7fff\"", "\"#1571ff\"", "\"#15ff8c\"", "\"#92ba8c\"", "\"#92008c\"", "\"#b04f6f\"", "\"#b04fe6\"", "\"#b0ffe6\"", "\"#1f99d5\"", "\"#ad26d5\"", "\"#deabd5\"", "\"#1fffff\"", "\"#ffff23\"", "\"#ffe09d\"", "\"#f9cdff\"", "\"#f9cd15\"", "\"#5affbc\"",
"\"#7f7fe2\"", "\"#51964f\"", "\"#ff9782\"", "\"#0077c0\"", "\"#00cbcb\"", "\"#8c38cb\"", "\"#d5aecb\"", "\"#d5ae4f\"", "\"#00d9ff\"", "\"#a59758\"",  "\"#ffc6c7\"", "\"#ffc0c0\"");

print "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">";

$j=0;
for ($i=0; $i<$N; $i++) {
    if ($i % 20==0) {
        $b[$j++]="</tr>\n";
        $b[$j++]="<tr>";
    }
    if ($a[$i]!=0) {
        $b[$j++]="<td bgcolor=$cou[$c[$i]]>";
        $b[$j++]=$i;
        $b[$j++]="</td>";
    }
    else {
        $b[$j++]="<td><font color=$cou[$c[$i]]><strike>";
        $b[$j++]=$i;
        $b[$j++]="</strike></font></td>";
    }
}



print "@b";

print "</table>";