bonjour
je veux afficher l'ensemble des nombre premier inférieur à un entier n par le Crible d’Ératosthène et j'ai un problème quand n dépasse 15 pouvez vous m'aider voila mon code:
merci d'avance
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 #include<iostream> #include<math.h> using namespace std; // je cree un tableaux dynamique int* tab(const int taille) { int* tab = new int[taille]; return tab; } int main() { int i, j,n,compteur=1; int k = 0; cout << "saisir le reelle n: "; cin >> n; int * tabl = tab(n); for (i = 0; i < n; i++) tabl[i] = i; for(i=2;i<sqrt(n);i++) { for (j = i+1; j < n; j++) { if (i != j) { if (j%tabl[i] == 0) { compteur=compteur+1; tabl[j] = 1; } } } } int *newtab = tab(n - compteur); for (i = 1; i < n; i++) { if (tabl[i] != 1) { newtab[k] = tabl[i]; k++; } } cout << "\nles nombres premier sont au nombre de "<<n-compteur<<"\n"; for (i = 0; i < (n - compteur); i++) { cout << newtab[i]; //system("pause"); } cout << "\n\n"; return 0; }
Partager