Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Algorithme décomposition facteurs premiers



  1. #1
    Mathematix2771

    Algorithme décomposition facteurs premiers


    ------

    Bonjour à tous, j'ai un dm de spécialité Mathématiques à faire et je suis confronté à un problème depuis plusieurs jours déjà, qui est la réalisation d'un algorithme dont la consigne est :
    "Écrire un algortihme en langage naturel permettant, après avoir saisi un entier naturel n non nul, d'afficher sa décomposition en facteurs premiers et son nombre de diviseurs. Préciser si le nombre n est premier et dans ce dernier cas, arrêter le programme.
    Modifier l'algorithme précédent pour qu'il affiche, en plus, la racine carrée du nombre n. Préciser si le nombre est un carré parfait.
    Modifier l'algorithme précédent pour qu'il affiche, en plus, le logarithme népérien du nombre n."
    J'ai déjà essayé de le faire sur calculette TI mais je n'obtiens que la liste des premiers dans la décomposition, alors qu'il faut qu'il affiche la décomposition avec les premiers et les exposants, utiles après pour la forme simplifiée de la racine carrée et du ln ..
    J'espère que quelqu'un peut me venir en aide, soit en langage TI soit en langage naturel.
    Merci d'avance

    -----

  2. Publicité
  3. #2
    gg0

    Re : Algorithme décomposition facteurs premiers

    Bonjour.

    Après avoir trouvé un facteur premier, il faut recommencer avec le quotient. Si tu prends les premiers dans l'ordre croissant, tu ne recommences évidemment que avec le premeir qui a donné un facteur.
    Pour afficher avec les exposants, il faut faire une boucle (genre tant que) et compter le nombre de fois où il y a division :
    Par exemple pour 2 :
    compte:=0
    tant que n/2=ENT(n/2) faire
    n:=n/2
    compte:=compte+1
    fin faire
    si compte>0 afficher "2^" compte
    compte=0

    A toi de continuer, et si tu bloques, écrit ici ton algorithme.

    Cordialement.

  4. #3
    Mathematix2771

    Re : Algorithme décomposition facteurs premiers

    Si j'ai bien compris votre méthode, il faut faire des boucles pour tous les nombres premiers à partir de 2 ? Celà peut devenir long à écrire non .. ?
    N'est il pas possible d'utiliser les chaines de caractères pour nous aider ? Je ne sais pas si vous connaissez cette fonction ..
    Cordialement

  5. #4
    gg0

    Re : Algorithme décomposition facteurs premiers

    On peut faire ce qu'on veut, tout dépend du langage utilisé. Mais sans utiliser des boucles (ou de la récursion), je ne vois pas comment trouver le nombre de facteurs p où p est premier.
    Mais si tu sais faire mieux, fais !

    Cordialement.

  6. #5
    Mathematix2771

    Re : Algorithme décomposition facteurs premiers

    Non justement je ne sais pas faire mieux et je ne vois pas trop comment tourner mon langage naturel, les variables et les fonctions qui vont avec ...
    Cordialement

  7. A voir en vidéo sur Futura
  8. #6
    Resartus

    Re : Algorithme décomposition facteurs premiers

    Bonjour,
    "je n'obtiens que la liste des premiers dans la décomposition.."
    Puisque vous avez apparemment trouvé un algorithme qui donne la liste des diviseurs, il n'y a pas grand chose à rajouter pour avoir le nombre de fois qu'ils divisent le nombre de départ.
    Je suppose qu'il y a une boucle qui teste la divisibilité du nombre de départ par les nombres premiers qui sont rangés dans une table (ou, ce qui est plus lent mais évite d'avoir une table, de tester avec 2 puis les nombres impairs (j'espère que vous avez constaté qu'il est inutile de dépasser racine(n))
    et que vous stockez les diviseurs trouvés quelque part dans un tableau ou une liste.

    Il vous suffit, quand un diviseur est trouvé, de faire la division du nombre de départ par ce diviseur, et de continuer le test de divisibilité sur ce quotient
    Le test peut d'ailleurs s'arrêter dès que ce quotient devient 1
    Vous aurez ainsi une liste de diviseurs où chaque diviseur premier apparaît le bon nombre de fois...
    Why, sometimes I've believed as many as six impossible things before breakfast

  9. Publicité
  10. #7
    Mathematix2771

    Re : Algorithme décomposition facteurs premiers

    Oui c'est bien la liste que j'obtiens, par exemple avec 360 j'obtiens 2 2 2 3 3 5 alors que je voudrais 2^3*3^2*5, et j'ai également besoin d'avoir accès à ces différents exposants pour la suite de l'algo,sous forme de variables ou autre par exemple, c'est à dire pour la racine carrée simplifiée et le ln du nombre ( pour 360, la racine carrée simplifiée c'est 6sqrt(10) et ln(360)= 3ln(2) + 2ln(3) + ln(5), vous pouvez voir le lien avec les exposants ici)

  11. #8
    Resartus

    Re : Algorithme décomposition facteurs premiers

    Bonjour,
    On peut inclure cela dans la boucle de divisibilité. Il suffit de rajouter une table de taille suffisante initialisée à zéro, où la position correspondant à chaque diviseur possible est incrémentée de 1 chaque fois qu'on trouve ce diviseur.
    Mais on peut aussi appliquer la méthode de gg0 : faire après coup le traitement séquentiel de la liste que vous avez trouvée pour obtenir deux nouvelles listes : une qui contient une seule fois chaque diviseur et l'autre qui contient les exposants correspondants dans le même ordre
    (par exemple, 3,5,5,11,13,13 va donner 3,5,11,13 et 1,2,1,2. Ce n'est quand même pas si compliqué à programmer...
    Why, sometimes I've believed as many as six impossible things before breakfast

  12. #9
    Mathematix2771

    Re : Algorithme décomposition facteurs premiers

    Ce n'est peut être pas dur à programmer, je n'ai jamais eu de difficultées pour faire un algorithme et c'est bien la première fois que j'y suis confronté .. Je n'ai donc aucune idée de comment programmer avec les listes dont vous parlez, et d'ailleurs aucune idée comment le transcrire en langage naturel ..

  13. #10
    gg0

    Re : Algorithme décomposition facteurs premiers

    As-tu vraiment lu le message #2 ? Je t'y donnais la méthode pour avoir ce que tu veux ... mais comme tu as refusé l'idée d'une boucle, tu as perdu ton temps (et m'a faity penser que j'avais répondu pour rien !!)

    Inutile de demander conseil si tu n'es pas prêt à suivre ce conseil !!!

  14. #11
    gg0

    Re : Algorithme décomposition facteurs premiers

    Résartus,

    je ne proposais même pas deux listes, mais l'affichage progressif des diviseurs premiers avec leur exposant. J'ai un peu l'impression que mathematix2771 attendait qu'on écrive le programme à sa place ...

    Cordialement

  15. #12
    Mathematix2771

    Re : Algorithme décomposition facteurs premiers

    Bonjour,
    J'ai déjà écrit plusieurs algorithmes et en aucun cas j'attends qu'on écrive le programme à ma place mais qu'on m'aide à améliorer l'affichage.
    Avec votre algo, je me demandais comment l'algorithme allait détecter qu'il faut allez parfois jusqu'à 41^1 si on fait boucle par boucle ? Je n'ai pas bien compris ..

  16. Publicité
  17. #13
    gg0

    Re : Algorithme décomposition facteurs premiers

    Tu n'as jamais pensé à faire des boucles dans une boucle ?

    Et l'algorithme le détectera grâce au "tant que".

    "qu'on m'aide à améliorer l'affichage." ?? Ce n'est pas ce que tu disais, ton algorithme ne déterminait pas les exposants, il faut commencer par les déterminer. Et n'importe comment, contrairement à moi, tu n'as rien produit ici, en terme d'algorithme.

    Pour l'instant, tu ne fais qu'attendre qu'on écrive ... ou qu'on explique tout ce à quoi tu peux penser seul facilement en voulant obtenir le bon résultat ...
    C'est ton exercice, fais-le seul, ou demande de l'aide en produisant déjà ce que tu sais faire, qu'on puisse t'aider à améliorer ton algorithme.

  18. #14
    Mathematix2771

    Re : Algorithme décomposition facteurs premiers

    Cela ne me pose pas de soucis, je veux bien vous montrer mon alogrithme en langage TI, peut t'on mettre des photos ou pas ?

  19. #15
    gg0

    Re : Algorithme décomposition facteurs premiers

    On peut mettre des scans, ou des photos.
    Le mieux est de l'écrire en langage courant,; pour ma part, je ne connais pas le langage TI. J'ai aussi peur qu'il soit un peu pauvre.

    Je te rappelle ton énoncé : "Écrire un algortihme en langage naturel ...."

    Cordialement.

Sur le même thème :

Discussions similaires

  1. Décomposition en produit de facteurs premiers
    Par Booggi dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 30/12/2016, 18h54
  2. Décomposition en produits de facteurs premiers
    Par couniamanmanw dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 09/03/2011, 09h33
  3. Unicité de la décomposition en facteurs premiers
    Par ericcc dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 17/01/2008, 15h11
  4. TS spé math : décomposition de facteurs premiers
    Par sekhmet45 dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 11/12/2006, 23h01
  5. Décomposition de 756 en facteurs premiers
    Par violette dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 11/09/2005, 13h35