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 :

Compter de 0 à 1000


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut Compter de 0 à 1000
    Bonjour,
    Je voudrais faire un algorithme qui compte combien de fois on utilise un numéro pour l'écriture des nombre de 0 à 1000, par exemple le 7 est utilisé une fois dans 517 et deux fois dans 177 ..
    Une idée pour commencer ?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Elaich Voir le message
    Une idée pour commencer ?
    oui et toi ??

  3. #3
    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
    ca ne serait pas une somme des C(n,i)*9^(n-i)?

    Edit: ah... non. Dans ce cas on compterai aussi les nombres commencant par 0. Mais ca doit être possible quand meme d'avoir une formule directe.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    oui et toi ??
    Oui mais mon idée est bête !!
    Prenons l'exemple 7 j'ajoute 10 je trouve 17 et comme ça à chaque fois que j'ajoute 10 j'ajoute 1 au compteur pour compter combien de fois on a 7 aux unités .. puis 100 pour les dizaines ..
    et ton idée ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    bah yen a 2.

    • La bête est d'écrire le nombre dans une chaîne, et de compter

    • La seconde est la même chose, mais en numérique :

      Centaine = Nombre/100
      Dizaine = (Nombre - Centaine*100)/10
      Unite = (Nombre - Centaine*100 - Dizaine*10)

      et là on a 3 chiffres/compteurs à comparer/incrémenter

  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
    1 occurrence de 7 dans un nombre a 3 chiffres:
    7-- = 9*9 possibilités = 81
    -7- = 9*9 possibilités = 81
    --7 = 9*9 possibilités = 81

    2 occurrences de 7 dans un nombre a 3 chiffres:
    77- = 9 possibilités
    -77 = 9 possibilités
    7-7 = 9 possibilités

    3 occurrences de 7 dans un nombre a 3 chiffres:
    777 = 1 possibilité

    Total occurrences de 7 dans un nombre a 3 chiffres:
    1*(81+81+81) + 2*(9+9+9) + 3*(1) = 300
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    euh.. Je ne crois pas, d'après son exemple, qu'il parlait des possibilités statistiques, mais de la réalité de l'écriture dans un chiffre donné..

  8. #8
    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
    "possibilités statistiques" ?

    J'ai juste fait un dénombrement. Sauf erreur, tous les cas sont comptés:

    0 occurrence de 7 dans un nombre a 3 chiffres: 1 * 9^3 = 729
    1 occurrence de 7 dans un nombre a 3 chiffres: 3 * 9^2 = 243
    2 occurrences de 7 dans un nombre a 3 chiffres: 3 * 9^1 = 27
    3 occurrences de 7 dans un nombre a 3 chiffres: 1 * 9^0 = 1

    Total: 729+243+27+1 = 1000 ... yes
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    "possibilités statistiques" ?

    J'ai juste fait un dénombrement. Sauf erreur, tous les cas sont comptés:

    Citation Envoyé par souviron34 Voir le message
    euh.. Je ne crois pas, d'après son exemple, qu'il parlait des possibilités statistiques, mais de la réalité de l'écriture dans un chiffre donné..
    Citation Envoyé par Elaich Voir le message
    par exemple le 7 est utilisé une fois dans 517 et deux fois dans 177 ..

  10. #10
    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
    1 occurrence de 7 dans un nombre a 3 chiffres:
    7-- = 9*9 possibilités = 81
    -7- = 9*9 possibilités = 81
    --7 = 9*9 possibilités = 81 <---- 517

    2 occurrences de 7 dans un nombre a 3 chiffres:
    77- = 9 possibilités
    -77 = 9 possibilités <---- 177
    7-7 = 9 possibilités

    3 occurrences de 7 dans un nombre a 3 chiffres:
    777 = 1 possibilité
    Citation Envoyé par Elaich
    par exemple le 7 est utilisé une fois dans 517 et deux fois dans 177 ..
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    faudrait avoir des précisions de la part du PO mais on ne parle pas de la même chose :

    tu parles bien de possibilités et d'occurence, moi je parle du nombre de fois où le chiffre est utilisé dans l'écriture d'un nombre donné..

  12. #12
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Je propose la formule ci-jointe. A vérifier bien sûr (pour le zéro par exemple).
    Images attachées Images attachées  

  13. #13
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    faudrait avoir des précisions de la part du PO mais on ne parle pas de la même chose :

    tu parles bien de possibilités et d'occurence, moi je parle du nombre de fois où le chiffre est utilisé dans l'écriture d'un nombre donné..
    Je suis bien d' accord avec toi.
    On peut determiner ce nombre de la maniere suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    nombre<-177
    occurence<-0
    chiffre<-7
    repeter
    si nombre mod 10 =chiffre alors
     occurence<-ocurence+1
    finsi
    nombre<-nombre div 10
    jusqu' à nombre=0
     
    //il ya occurence de chiffre dans nombre

  14. #14
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Moi j'ai compris la même chose que PseudoCode, le PO a demandé "combien de fois on utilise un numéro pour l'écriture des nombres de 0 à 1000 ?" pas "comment compter le nombre de 7 dans l'écriture d'un nombre ?". Bien sûr il est possible qu'il se soit mal exprimé.

    --
    Jedaï

  15. #15
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    moi je parle du nombre de fois où le chiffre est utilisé dans l'écriture d'un nombre donné..
    Moi aussi c'est ça ce que je voulais ..

  16. #16
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Ah les matheux


    pseudocode, phryte, Jedai :

  17. #17
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Voilà qui devrait résoudre les deux problèmes:
    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
    19
    20
    21
    22
    def NbreDeFois1(x,n):
        if n<10:
            if n==x:
                return 1
            else:
                return 0
        else:
            return NbreDeFois1(x,n/10)+NbreDeFois1(x,n%10)
     
    def NbreDeFois2(x,n):
        s=0
        for i in range(0,n+1):
            s+=NbreDeFois1(x,i)
        return s
     
    def main():
        print NbreDeFois1(7,771)
        print NbreDeFois2(7,1000)
     
     
    if __name__ == '__main__':
        main()
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  18. #18
    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
    C'est sur que ce probleme là est plus facile. La version iterative de l'algo de Zavonen :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    static int digitcount(int digit, int number) {
    	int count=0;
    	while(number!=0) {
    		if (number%10==digit) count++;
    		number/=10;
    	}
    	return count;
    }
     
    public static void main(String[] args) {
    	int count = digitcount(7,771);
    	System.out.println(count);
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  19. #19
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    Bonsoir;
    merci pour les 2 propositions mais je comprend pas trop le "C" j'aimerai seulement avoir l'algorithme ..

  20. #20
    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
    Code pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Nombre:=771
    Chiffre:=7
     
    Compteur:=0
    TantQue ( Nombre != 0 ) 
    	Si ( (Nombre modulo 10) == Chiffre ) Alors Compteur:=Compteur+1
    	Nombre:=Nombre/10
    Fint TantQue
     
    Afficher Compteur
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Compter le nombre de page d'un report
    Par ToYonos dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/06/2003, 09h36
  2. compter le nombre de record
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 12/03/2003, 09h53
  3. [TListView] Compter le nombre de lignes
    Par agh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2002, 20h25
  4. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41
  5. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51

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