1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main()
{
int nombre_etudie; /* Nombre étudié*/
int i; // Indice du nombre premier utilise
int j; /* Indice du dernier nombre premier trouvé */
int valeur_entree; // Valeur entrée
int liste[200000]; /* Liste des J-1 nombres premiers */
double NbEuclide; /* Nombre du crible d'Euclide */
printf(" ******************************************************************************\n");
printf(" * *\n");
printf(" * PROGRAMME DE DETERMINATION DE TOUS LES NOMBRES PREMIERS DE 2 A N *\n");
printf(" * *\n");
printf(" ******************************************************************************\n");
printf("\n\n\n\n\nEntrez une valeur N positive et superieure a 5 : ");
scanf("%d",&valeur_entree);
liste[0]=2;
liste[1]=3;
printf("\n\nListe des nombres premiers jusqu'a %d :\n %d\t%d\t",valeur_entree,liste[0],liste[1]);
j=1;
for (nombre_etudie=5;nombre_etudie<=valeur_entree;nombre_etudie+=2)
{
NbEuclide=floor(sqrt(nombre_etudie));
i=0;
while(nombre_etudie%liste[i]!=0 && liste[i]<=NbEuclide)
{
i++;
if (liste[i]>NbEuclide)
{
j=j+1;
liste[j]=nombre_etudie;
printf("%d\t",liste[j]);
}
}
}
getch();
printf("\n\n");
return 0;
} |