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

Algorithmes et structures de données Discussion :

Nombre de chiffres d'entiers regroupés


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Août 2007
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 308
    Billets dans le blog
    1
    Par défaut Nombre de chiffres d'entiers regroupés
    Bonjour,

    J'ai besoin de votre aide.
    Au fait, j'ai des entiers regroupés selon leurs nombres de chiffres:
    - les entiers à 1 chiffre: tels que 1,8
    - les entiers à 2 chiffres: tels que 12, 25
    - les entiers à 3 chiffres: 100, 325
    etc

    sachant que dans mon algorithme, je connais le groupe (cad l'entier contient combien de chiffres, disons p chiffres) je voudrai avoir une formule
    générique qui me retourne pour chaque groupe et pour chaque entier,
    les chiffres constituants l'entier. Sachant que je voudrai à chaque fois, récupérer les chiffres des unités enuite ceux des dizaines ensuite ceux des centaines etc
    par exemple:
    pour le groupe des entiers à 3 chiffres: 100, 325 . Je veux récuperer
    - 0 et 5
    ensuite 0 et 2
    ensuite 1 et 3
    pour y appliquer un traitement particulier.

    Je vous remercie si vous avez une réponse

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 45
    Par défaut
    Il suffit que tu fasses ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Entier tab[nombreDeChiffre] 
    Entier val= nombre;
    Pour n = 0 à log10(nombre)
         tab[n] = val%10;
         val = val/10;
    fin
    Regarde sur papier, je ne sais plus si c'est n=0 ou n = 1 mais ça marche

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2010
    Messages : 59
    Par défaut
    En effet, la réponse est dans la question,
    ton algo tu l'as alors faut l'implémenter..

    Pour un groupe donner.. partons sur p
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    on boucle pour i de 1 à p
         on creer une liste Pi
         on boucle pour j de 1 au nombre d'élement
               on ajoute à Pi le ie element du nombre j
         fin de boucle j
         Traitement des ie chiffre de la liste à p chiffres
    fin boucle i

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Par défaut
    Après ça dépend aussi du type de langage que tu utilises. Mais une solution simple sans être forcément optimale pourrait être d'utiliser la représentation en chaîne de caractères. Par exemple en python:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def compte_chiffres(nombre):
       return len(str(nombre))
     
    def extrais_chiffres(nombre):
       return [int(c) for c in str(nombre)]
     
    >>> extrais_chiffres(456)
    [4,5,6]

  5. #5
    Membre éclairé

    Inscrit en
    Août 2007
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 308
    Billets dans le blog
    1
    Par défaut
    merci pour vos réponses
    au fait, je précise le probléme: je voudrai une formule
    qui a partir par exemple du nombre 170 me donne la premiere fois le 0
    ensuite (la meme formule en changeant eventuellement de parametre) qui me donne le 7 ensuite (avec la meme formule) le 1. Il faut que la formule
    travaille toujours avec le nombre 170 car à chaque iteration, je passe au nombre suivant
    cad:

    à partir de 170, je veux le 0
    à partir de 192, je veux le 2
    à partir de 130, je veux le 0

    ensuite je réitere


    à partir de 170, je veux le 7
    à partir de 192, je veux le 9
    à partir de 130, je veux le 3

    etc

    j'espère que je c'est plus claire maintenant

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par nina2007 Voir le message
    merci pour vos réponses
    au fait, je précise le probléme: je voudrai une formule
    qui a partir par exemple du nombre 170 me donne la premiere fois le 0
    ensuite (la meme formule en changeant eventuellement de parametre) qui me donne le 7 ensuite (avec la meme formule) le 1. Il faut que la formule
    travaille toujours avec le nombre 170 car à chaque iteration, je passe au nombre suivant
    chiffre = (Nombre/(10 puissance rang)) modulo 10
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment calculer le nombre de chiffres d'un entier ?
    Par fearyourself dans le forum Télécharger
    Réponses: 23
    Dernier message: 10/01/2012, 17h29
  2. Nombre de chiffre pour ecrire un entier en binaire
    Par Darksnakes dans le forum Débuter
    Réponses: 9
    Dernier message: 11/03/2008, 20h19
  3. Réponses: 10
    Dernier message: 20/07/2007, 14h09
  4. arrondir un nombre à 2 chiffres après la virgule
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2005, 08h36
  5. [MFC] Nombre de chiffres après la virgule
    Par karl3i dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2004, 13h04

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