Algorithme nombres premiers

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
celiine11
Membre Naturel
Messages: 41
Enregistré le: 01 Oct 2019, 22:57

Algorithme nombres premiers

par celiine11 » 13 Nov 2019, 18:04

Bonjour, j'essaie tant bien que mal de faire un algorithme sur le logiciel SCRATCH pour afficher les nombres premiers de 1 a 100 ou de 1 a n (que lon determine) pour illustrer le crible deratostene mais je ny arrive pas..
Quelquun aurait un algorithme qui fonctionne ??
Merci beaucoup !!



Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Algorithme nombres premiers

par fatal_error » 13 Nov 2019, 18:20

bonjour,

je vois que tu es apparemment au lycée,
pourquoi t'embêter avec un truc enfantin et ne pas directement utiliser python comme tous les autres lycéens semblent faire?
la vie est une fête :)

celiine11
Membre Naturel
Messages: 41
Enregistré le: 01 Oct 2019, 22:57

Re: Algorithme nombres premiers

par celiine11 » 13 Nov 2019, 18:31

fatal_error a écrit:bonjour,

je vois que tu es apparemment au lycée,
pourquoi t'embêter avec un truc enfantin et ne pas directement utiliser python comme tous les autres lycéens semblent faire?


Bonjour, j'ai mis lycée pour essaye d'avoir un maximum de réponse. Je ne suis pas contre utilise Python mais je trouve cela plus dynamique avec Scratch. Et je ne suis pas du tout douée avec les algorithmes donc que ce sois Scratch ou Python...

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Algorithme nombres premiers

par fatal_error » 13 Nov 2019, 20:39

ben ça dépend c'est quoi ton but, si t'as regardé soigneusement et t'as choisi scrtach parce que tu voulais faire des jeux ou je sais pas quoi oui ca vaut ptet le coup de focaliser sur scratch

si ton but c'est d'apprendre à programmer, alors non c'est une perte de temps

dans tous les cas je pourrai pas t'aider pour scratch parce qu'il faut apprendre une syntaxe (et si c'était que ça ça irait, mais je trouve pas leur doc ni d'interpréteurs en ligne donc je passe pour ma part)
la vie est une fête :)

celiine11
Membre Naturel
Messages: 41
Enregistré le: 01 Oct 2019, 22:57

Re: Algorithme nombres premiers

par celiine11 » 13 Nov 2019, 20:59

fatal_error a écrit:ben ça dépend c'est quoi ton but, si t'as regardé soigneusement et t'as choisi scrtach parce que tu voulais faire des jeux ou je sais pas quoi oui ca vaut ptet le coup de focaliser sur scratch

si ton but c'est d'apprendre à programmer, alors non c'est une perte de temps

dans tous les cas je pourrai pas t'aider pour scratch parce qu'il faut apprendre une syntaxe (et si c'était que ça ça irait, mais je trouve pas leur doc ni d'interpréteurs en ligne donc je passe pour ma part)


D'accord ce n'est pas grave.
En revanche, comme tu es venu a parler de Python, aurais-tu un algorithme sur Python qui permette de faire ça ?

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Algorithme nombres premiers

par fatal_error » 13 Nov 2019, 21:02

ca peut se faire oui... je vois pas trop le probleme
afficher une grille nxn numérotée de 1 à nxn
rayer tous les multiples de k pour k = 2 à n
la vie est une fête :)

celiine11
Membre Naturel
Messages: 41
Enregistré le: 01 Oct 2019, 22:57

Re: Algorithme nombres premiers

par celiine11 » 13 Nov 2019, 21:13

fatal_error a écrit:ca peut se faire oui... je vois pas trop le probleme
afficher une grille nxn numérotée de 1 à nxn
rayer tous les multiples de k pour k = 2 à n


Cela ferait intervenir une matrice ou des listes... complique ...

LB2
Habitué(e)
Messages: 1504
Enregistré le: 05 Nov 2017, 18:32

Re: Algorithme nombres premiers

par LB2 » 13 Nov 2019, 21:23

Bonjour,

déjà, avant d'implémenter l'algorithme du crible d'Eratosthene sur un langage particulier, il faut se mettre d'accord sur sa syntaxe.
https://fr.wikipedia.org/wiki/Crible_d% ... th%C3%A8ne
On peut l'écrire en langage naturel. (Vive l'informatique débranchée!)

Fonction Eratosthène(Limite)
L = liste des entiers de 2 à Limite
Tant que L est non vide
Afficher le premier entier de L
L = liste des entiers de L non multiples du premier
Fin tant que
Fin fonction

Sans recourir aux listes, je pense que c'est possible, mais c'est se compliquer la vie à mon sens.

Pour d'autres versions, et leurs implémentations, voir http://villemin.gerard.free.fr/Wwwgvmm/ ... atoprg.htm qui est très bien aussi

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Algorithme nombres premiers

par fatal_error » 13 Nov 2019, 21:43

l'algorithme qu'on apprenait au collège c'était: faire une grille de 1 à 100, effacer tous les multiples de 2, effacer tous les multiples de 3, ...
à la fin il reste plus que les premiers.

Si on prend une liste L=[1,...,100] (initialiser une telle liste c'est trivial)
ya qu'à remplacer les multiples de 2 par 'X'
et ainsi de suite.

Ca doit être accessible non?
faut écrire une boucle pour 2
et écrire une boucle pour k = 2 à 10
la vie est une fête :)

celiine11
Membre Naturel
Messages: 41
Enregistré le: 01 Oct 2019, 22:57

Re: Algorithme nombres premiers

par celiine11 » 13 Nov 2019, 22:56

LB2 a écrit:Bonjour,

déjà, avant d'implémenter l'algorithme du crible d'Eratosthene sur un langage particulier, il faut se mettre d'accord sur sa syntaxe.
https://fr.wikipedia.org/wiki/Crible_d% ... th%C3%A8ne
On peut l'écrire en langage naturel. (Vive l'informatique débranchée!)

Fonction Eratosthène(Limite)
L = liste des entiers de 2 à Limite
Tant que L est non vide
Afficher le premier entier de L
L = liste des entiers de L non multiples du premier
Fin tant que
Fin fonction

Sans recourir aux listes, je pense que c'est possible, mais c'est se compliquer la vie à mon sens.

Pour d'autres versions, et leurs implémentations, voir http://villemin.gerard.free.fr/Wwwgvmm/ ... atoprg.htm qui est très bien aussi


Je comprend tout à fait en quoi consiste ce crible, le problème est que je n'arrive pas a le transcrire sous forme d’algorithme pour le faire exécuter sur scratch..

celiine11
Membre Naturel
Messages: 41
Enregistré le: 01 Oct 2019, 22:57

Re: Algorithme nombres premiers

par celiine11 » 13 Nov 2019, 22:58

fatal_error a écrit:l'algorithme qu'on apprenait au collège c'était: faire une grille de 1 à 100, effacer tous les multiples de 2, effacer tous les multiples de 3, ...
à la fin il reste plus que les premiers.

Si on prend une liste L=[1,...,100] (initialiser une telle liste c'est trivial)
ya qu'à remplacer les multiples de 2 par 'X'
et ainsi de suite.

Ca doit être accessible non?
faut écrire une boucle pour 2
et écrire une boucle pour k = 2 à 10


Effectivement, expliqué comme cela, les choses paraissent facile. Le crible en lui meme est tres facile de compréhension, mais le soucis est le transcrire en algorithme... Faire la liste n'est pas un soucis, c'est pour barrer les multiples ou la ca coince..

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Algorithme nombres premiers

par fatal_error » 13 Nov 2019, 23:21

le code est self explanatory
un exemple pour marquer les multiples de 2
https://repl.it/repls/GleefulDarlingSynergy
Code: Tout sélectionner
import math
def mark(L, k):
    z = k
    while z <= len(L):
        L[z-1] = 'X'
        z += k
    return L

n = 5
L = list(range(1, n*n+1))
print(mark(L,2))


sauras tu marquer les restants?
la vie est une fête :)

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 37 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite