Algo nb de chiffres

Résolu
sebdu70 Messages postés 5 Statut Membre -  
 Orion-Pyro -
Bonjour, je n'arrive pas a faire un algorithme, voici le sujet :

-ecrire la fonction Nchiffres qui obtient une valeur entière N (possitive ou négative) comme paramètre et qui fournit le nombre de chiffre de N comme résultat.

-ecrire un petit programme qui test la fonction Nchiffre
exemple : chiffre entré : 70000
Nombre de chiffre entrées : 5
Configuration: Windows 7
Firefox 3.6

7 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Divise ton nombre par 10 jusqu'à ce que tu aies un résultat inférieur à 1, et renvoie le nombre de divisions que tu as faites.

    Xavier
    1
  2. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    calcule le log (base10) de sa valeur absolue, tu peux en déduire le nombre de chiffres : si le log est entier, alors c'est le nombre de chiffres cherchés, si le log n'est pas entier, tu l'arrondis à l'entier supérieur, et ça te donne aussi le nombre de chiffres...

    N'oublie pas de calculer un nombre de décimales suffisant...

    C'est comme répéter les divisions, mais c'est moins long... :-)

    Y'a juste une exception pour le 1...
    0
  3. sebdu70 Messages postés 5 Statut Membre
     
    Aurriez-vous un exemple? svp, car la sa me rappel juste les conversions en base binaire et décimal
    0
  4. Orion-Pyro
     
    Facile :

    fonction nombreDeChiffres(nombre
    {
    déclarer chiffre en entier
    boucle while (nombre > 10)
    {

    nombre = nombre/10
    chiffre++
    }

    si nombre >0
    chiffre ++

    renvoyer chiffre
    }

    Je pense que ça devrait marcher
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Orion-Pyro
     
    Je viens de tester ça marche ;) .
    0
  7. sebdu70 Messages postés 5 Statut Membre
     
    Facile :

    fonction nombreDeChiffres(nombre
    {
    déclarer chiffre en entier
    boucle while (nombre > 10)
    {

    nombre = nombre/10
    chiffre++
    }

    si nombre >0
    chiffre ++

    renvoyer chiffre
    }

    Je pense que ça devrait marcher

    C'est en quel language, car moi je connais que le vb et l'algo papier....
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Tu as demandé un algorithme, par définition, c'est écrit en pseudo-langage, adaptable en fonction de ce que tu dois utiliser.
      0
  8. Orion-Pyro
     
    Si tu connais VB.NET voilà la "traduction" :

    Function nombreDeChiffre(ByVal nombre)
    Dim chiffre As Integer = 0

    While nombre > 10
    nombre = nombre / 10
    chiffre = chiffre + 1
    End While

    If nombre > 0 Then
    chiffre = chiffre + 1
    End If

    Return chiffre
    End Function
    0