Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide SVP-

    19 février 2016 à 11:21:21

     Bonjour à tous;

    j'ai besoin de votre aimable aide🙂

    La question est la suivante: Ecrivez un programme qui calcule a^n % p SANS calculer a^n.(a,n et p sont des entiers)

    j'ai beaucoup cherché sur le web mais malheureusement je n'ai pas trouvé grand chose.😔

    Merci pour m'aider 🙏🏻🙏🏻🙏🏻

    -
    Edité par ReihnBeh 19 février 2016 à 11:22:38

    • Partager sur Facebook
    • Partager sur Twitter
      19 février 2016 à 11:33:56

      J'ai pas trop compris la question, mais a**5 c'est simplement a*a*a*a*a. Je suppose que c'est ça qu'on te demande de faire (en utilisant sûrement une boucle).
      • Partager sur Facebook
      • Partager sur Twitter
      Précepte: Le mieux est l'ennemi du bien
        19 février 2016 à 11:39:25

        Je ne suis pas sure d'avoir saisi la question mais voila ce que je propose

        def moduloPuissance(a,n,p):
            res = 1
            i = 0
            while i < n:
                res = (res*a)%p
                i+=1
            return res
        

        au lieu de faire a^n à chaque étape on fait (a*a)%p

        par exemple pour moduloPuissance(3,4,7) on fait:

        1) 3*3%7 = 2

        2)  3*2%7 = 6

        3) 3*6%7 = 4

        -
        Edité par lewisbm 19 février 2016 à 11:40:04

        • Partager sur Facebook
        • Partager sur Twitter
          19 février 2016 à 12:05:49

          Clairement on ne veut pas que tu fasses a**n que ce soit en une deux ou n étapes. Je pense que ce lien devrait te donner la solution: https://en.wikipedia.org/wiki/Modular_exponentiation (voir Memory-efficient method ou Right-to-left binary method).

          Edit: Et en lisant cette page, j'ai moi-même appris que la fonction builtin pow prenait un troisième argument optionnel qui calcul justement pow(a, n) % p mais de manière plus efficace comme décrit sur le lien plus haut.

          -
          Edité par Dan737 19 février 2016 à 12:21:47

          • Partager sur Facebook
          • Partager sur Twitter
            19 février 2016 à 12:25:40

            Dan737 a écrit:

            Clairement on ne veut pas que tu fasses a**n que ce soit en une deux ou n étapes. Je pense que ce lien devrait te donner la solution: https://en.wikipedia.org/wiki/Modular_exponentiation (voir Memory-efficient method).


            Regardes ma réponse plus haut c'est la même méthode ;)
            • Partager sur Facebook
            • Partager sur Twitter
              19 février 2016 à 18:07:17

              Merci à tous  ;)
              Grace à votre aide j'ai trouver ma réponse  :D:D8-)8-)
              • Partager sur Facebook
              • Partager sur Twitter
                19 février 2016 à 22:32:19

                Bonjour, dans le cadre d'un projet en ISN on a décidé de faire une petite calculatrice qui fait étude de fonction, statistiques etc... On y a intégré une interface graphique en .py. Le soucis c'est que j'aimerais lancer mon interface graphique depuis mon application est ce que vous pouvez m'aider svp? J'ai cherché sur google mais je ne retombe que sur des erreurs. Prenons un exemple. Si mon fichier a pour chemin 

                C:\\Users\\Moi\\Documents\\Visual Studio\\Projets\\Exercice 1.py

                quelles lignes de commande devrais je intégrer pour ouvrir le fichier dans une console python ? Je suis débutant alors âmes charitables aidez moi :D

                Merci.

                • Partager sur Facebook
                • Partager sur Twitter
                Loic

                Aide SVP-

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown