- lun. 28 oct. 2019 02:11
#200473
Bonsoir,
je voudrais une grande aide pour des exercices d'algorithmique svp, je vous remercie d'avance pour votre réponse. (Je viens de commencer l'algorithmique)
en fait je dois utiliser le crible d’Ératosthène dont le but est de trouver tous les nombres premiers inférieurs ou égaux à une borne n fixée. Son principe est de partir d’une liste de tous les entiers de 2 à n (traditionnellement représentée sous forme de grille). On commence par entourer le nombre 2 et barrer tous les nombres qui sont des multiples de 2 jusqu’à n. Puis on entoure 3 qui n’est pas barré et on recommence avec les multiples de 3 et ainsi de suite, à chaque étape on cherche le premier entier suivant celui qu’on vient de voir et qui n’a pas encore été barré, on l’entoure et on barre tout ses multiples. Une fois qu’on a atteint n, tous les nombres entourés sont les nombres premiers. On doit utiliser une liste chaînée de nœuds ayant la structure suivante :
structure noeudCrible {
nombre : entier
coche : booléen
suiv : pointeur sur noeudCrible
}
type listeCrible = pointeur sur noeudCrible
où coche permet de savoir si un nombre a été coché par le crible d’Ératosthène, c’est à dire qu’il est composé et qu’on l’a rayé. Par défaut cette valeur sera initialisé à False. Par exemple, après avoir appliqué le crible aux nombres de 2 à 7, on devrait avoir la liste suivante :
(2,False)− > (3,False)− > (4,True)− > (5,False)− > (6,True)− > (7,False)− > None
ma question: comment peut-on faire la création de la liste de nombres ? on me demande d'écrire de façon itérative une fonction creerListe(n : entier) : listeCrible qui prend en entrée la borne n et renvoie la liste chaînée de tous les entiers de 2 à n avec tous les booléens coche initialisés à la valeur False. En supposant que l’utilisateur a bien rentré un entier supérieur à 2 et je ne gère donc pas de cas particulier.
Je vous remercie de l'attention que vous y auriez apporter même si vous ne pourrais m'éclairer dessus,
Sylvie
je voudrais une grande aide pour des exercices d'algorithmique svp, je vous remercie d'avance pour votre réponse. (Je viens de commencer l'algorithmique)
en fait je dois utiliser le crible d’Ératosthène dont le but est de trouver tous les nombres premiers inférieurs ou égaux à une borne n fixée. Son principe est de partir d’une liste de tous les entiers de 2 à n (traditionnellement représentée sous forme de grille). On commence par entourer le nombre 2 et barrer tous les nombres qui sont des multiples de 2 jusqu’à n. Puis on entoure 3 qui n’est pas barré et on recommence avec les multiples de 3 et ainsi de suite, à chaque étape on cherche le premier entier suivant celui qu’on vient de voir et qui n’a pas encore été barré, on l’entoure et on barre tout ses multiples. Une fois qu’on a atteint n, tous les nombres entourés sont les nombres premiers. On doit utiliser une liste chaînée de nœuds ayant la structure suivante :
structure noeudCrible {
nombre : entier
coche : booléen
suiv : pointeur sur noeudCrible
}
type listeCrible = pointeur sur noeudCrible
où coche permet de savoir si un nombre a été coché par le crible d’Ératosthène, c’est à dire qu’il est composé et qu’on l’a rayé. Par défaut cette valeur sera initialisé à False. Par exemple, après avoir appliqué le crible aux nombres de 2 à 7, on devrait avoir la liste suivante :
(2,False)− > (3,False)− > (4,True)− > (5,False)− > (6,True)− > (7,False)− > None
ma question: comment peut-on faire la création de la liste de nombres ? on me demande d'écrire de façon itérative une fonction creerListe(n : entier) : listeCrible qui prend en entrée la borne n et renvoie la liste chaînée de tous les entiers de 2 à n avec tous les booléens coche initialisés à la valeur False. En supposant que l’utilisateur a bien rentré un entier supérieur à 2 et je ne gère donc pas de cas particulier.
Je vous remercie de l'attention que vous y auriez apporter même si vous ne pourrais m'éclairer dessus,
Sylvie