IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Trouver la plus grande puissance k de 2 tel que N ≥ 2k


Sujet :

Python

  1. #21
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Booldegum Voir le message
    Comment faire pour que mon algorithme
    Donc déjà on va faire un rappel des terminologies. Un algorithme c'est un processus écrit dans un pseudo-langage à la fois proche de l'humain et "ressemblant" à un code de programme.
    Ici ce n'est plus de l'algo, c'est un programme Python, programme composé de fonctions et d'instructions. Ce programme s'appuie sur un algorithme, certes, mais ça reste un programme.

    Citation Envoyé par Booldegum Voir le message
    envoie une donnée dans le tableau
    Un programme Python ne peut pas envoyer des données dans un tableau. Il peut envoyer des données à l'écran, dans un fichier, dans le réseau mais pas dans un tableau.
    Et dans un programme Python, on ne peut pas non plus envoyer des données dans un tableau. On peut seulement faire que le tableau récupère des données renvoyées par une action (expression, calcul, fonction, etc).

    Citation Envoyé par Booldegum Voir le message
    (en me basant sur le code de lg_53)?
    Et si tu te sortais les doigts pour comprendre son code, te l'approprier et enfin le faire évoluer toi-même ?
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  2. #22
    Invité
    Invité(e)
    Par défaut
    Je débute à peine en Python j'ai encore du mal à en comprendre la logique donc pour l'instant je ne peux pas me l'approprier comme je veux

    C'est pourquoi je tente d'apprendre auprès de personnes ayant déjà des connaissances approfondies .
    Dernière modification par Invité ; 06/12/2019 à 22h08. Motif: Fusion des messages

  3. #23
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Citation Envoyé par Booldegum Voir le message
    Bonjour
    Comment faire pour que mon algorithme envoie une donnée dans le tableau (en me basant sur le code de lg_53)?

    Comment fait-on pour ajouter une valeur a une liste ? Révisez ce que vous pouvez faire avec les listes en Python, c'est dans les fonctions de bases.

  4. #24
    Invité
    Invité(e)
    Par défaut
    Je vais reformuler comment faire en sorte que ma liste aille chercher elle même des données à récupérer dans une boucle while

  5. #25
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Non, il faut procéder dans l'autre sens.
    Dans votre boucle vous faites l'ajout d'un élément à la liste.

    Vous pouvez débutez, certes, ca ne vous empêche pas d'ouvrir un tuto au chapitre qui parle des listes pour rapidement voir comment on fait ca.

  6. #26
    Invité
    Invité(e)
    Par défaut
    C'est ce que je fais, je suis allé voir, seulement j'ai du mal à comprendre comment procéder en dehors des exemples donnés

    J'ai essayé de "me sortir les doigts" et voici ce que j'ai réussi à faire...
    Qu'en pensez-vous?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    def puissance(N):
      k=0
      while 2**k<=N:
        k=k+1
     
      return k-1
     
    def somme_puissance_de_2(N):
      puissance_max = puissance(N) 
      liste_puissance = [ ]
      while puissance_max > 0:
        2**puissance_max
        liste_puissance.append(puissance_max)
        puissance_max=puissance_max-1
      print(liste_puissance)
     
    print( somme_puissance_de_2(213) )

  7. #27
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Booldegum Voir le message
    Je vais reformuler comment faire en sorte que ma liste aille chercher elle même des données à récupérer dans une boucle while
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    liste=[]
    while truc:
        liste.append(donnée_récupérée)

    Citation Envoyé par Booldegum Voir le message
    J'ai essayé de "me sortir les doigts" et voici ce que j'ai réussi à faire...
    Qu'en pensez-vous?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    def puissance(N):
      k=0
      while 2**k<=N:
        k=k+1
     
      return k-1
     
    def somme_puissance_de_2(N):
      puissance_max = puissance(N) 
      liste_puissance = [ ]
      while puissance_max > 0:
        2**puissance_max
        liste_puissance.append(puissance_max)
        puissance_max=puissance_max-1
      print(liste_puissance)
     
    print( somme_puissance_de_2(213) )
    Premier début. Question syntaxe, il y a juste ce "2 ** puissance_max" inutile (puisque tu ne récupères pas son résultat) et manque un return en fin de fonction pour que tu puisses te servir de cette fonction dans une expression comme tu le fais avec ton print(somme_puissance_de_2(...)).

    Maintenant question algo, ça pêche un peu. Ta fonction calcule la puissance max d'un nombre puis se contente de remplir le tableau avec toutes les valeurs qui décroissent depuis cette puissance (ex pour 213 ça donne 7 6 5 4 3 2 1). Bref un simple décompte.

    Toi tu veux la somme des puissances. Donc tu as trouvé la puissance max de 213 (qui est 7). Il te faut donc effectivement ajouter ce "7" à ton tableau. Puis ensuite, il te faut calculer le N qui reste. Si N était à 213, alors tu lui enlèves 2**7 (128) et il reste 85.
    Et ensuite tu recommences l'algo (donc nouvelle itération de boucle) avec 85...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/12/2010, 18h18
  2. Besoin d'aide pour optimiser un algorithme
    Par predat dans le forum Général Python
    Réponses: 5
    Dernier message: 21/08/2010, 01h29
  3. Besoin d'aide pour un petit Algorithme
    Par arnolem dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/08/2010, 23h51
  4. [AIDE] besoin d'aide pour réaliser un algorithme
    Par quaresma dans le forum Algorithmes et structures de données
    Réponses: 40
    Dernier message: 18/01/2008, 09h35
  5. Besoin d'aide pour algorithme de traitement d'images
    Par Zenman94 dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 07/04/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo