Salut à tous,
Je n'arrive pas à créer la liste des nombres premiers en C. Je l'ai faite il y a un certain temps, il me semble avec des pointeurs mais je n'ai pas envie de les utiliser et je ne comprends pas grand chose aux pointeurs. J'ai trouvé des programmes sur internet mais je les trouve longs. Je débute, mais je voudrais un code le plus concis possible. Je connais le crible d'Eratosthène (tester tous les nombres premiers jusqu'à sqrt(nombre_testé).
J'ai aussi fait une boucle en utilisant un tableau (c'est possible ?)
Mon programme me semble logique, mais il ne doit pas l'être !
Help me : je voudrais apprendre le C mais seul, c'est quand même difficile:
Merci les gars et les gazelles
J'ai un warning : L15 : for (teste = 3 ; teste = nombre_choisi ; teste++)
Erreur : Process terminated with status -1073741510 (9 minutes, 36 seconds)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <stdio.h> #include<math.h> int main(int argc,char *argv[]) { int nombre_choisi = 0; int liste_nombre_premier[1000000]={2}; int i = 0; int teste = 3; printf("Ce programme permet d\'afficher tous les nombres premier jusqu\'a un nombre que vous aurez choisi\n\n\n"); printf("Choisissez un nombre"); scanf("%d",&nombre_choisi); for (teste = 3 ; teste = nombre_choisi ; teste++) { while (teste%liste_nombre_premier[i]!=0 && liste_nombre_premier[i] <= sqrt(teste)) { i++; } if (teste%liste_nombre_premier[i]!=0) { break; } else { liste_nombre_premier[i] = teste; } } return 0; }
Partager