Bonjour à tous et à toutes!
Je suis en Terminale S en spécialité maths et j'avais à faire une activité sur un algorithme qui trouve les facteurs premiers des entiers naturels. J'utilise le livre de Didier qui s'appelle math'x (au cas où quelqu'un l'aurait. c'est l'activité 1 page 58)
J'ai essayé de programmer un algorithme sur algobox mais il ne marche pas et je voudrais savoir pourquoi pour pouvoir le faire marcher enfin!
Merci pour votre aide
Bonjour,
1) Il ne peut pas "marcher" il n'y a aucune instruction d'affichage
donc même s'il "marche", il garde ses résultats pour lui.
2) que penses tu faire avec ta variable F écrasée à chaque test et que de toute façon tu n'utilises jamais ?
de plus F prend la valeur "B" met le texte "B" (c'est à dire le caractère 'B') dans F et pas le contenu de la variable B
3) erreur de syntaxe : 6k+1 s'écrit 6*k + 1 (espaces facultatifs)
4) si m est un multiple de 4 ou de 9 ça ne s'arrête jamais (il restera toujours au moins 2 ou 3, donc n ne deviendra jamais 1 et la boucle tant que bouclera éternellement)
5) Si / Sinon pour les 6k+1 et 6k-1 et pas pour 2 et 3 ??? pourquoi ? et si tu as des nombres premiers jumeaux ? les deux 6k-1 et 6k+1 sont des facteurs
6) rebalayer tous les nombres potentiellement premiers et les rebalayer (les mêmes) sans cesse n'est pas une méthode efficace
une fois qu'on a détecté un facteur (premier) on divise de suite par ce facteur autant de fois qu'on peut.
7) que cherches tu à faire
trouver un facteur premier : on s'arrête dès qu'on en a trouvé un
trouver tous les facteurs premiers : tu ne peux mettre dans F comme ça et écraser sans afficher
pour afficher une valeur il est inutile de la mettre dans une variable chaine, "traduite en texte", ça se fait tout seul en affichant la variable elle même, directement.
trouver la décomposition de m en facteurs premiers : dans ce cas tu dois compter le nombre de fois pour sortir un exposant à chaque
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :