Algo nb de chiffres

Résolu/Fermé
sebdu70 Messages postés 5 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 17 février 2010 - 16 févr. 2010 à 17:10
 Orion-Pyro - 17 févr. 2010 à 11:58
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

7 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
16 févr. 2010 à 17:12
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
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
16 févr. 2010 à 17:21
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
sebdu70 Messages postés 5 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 17 février 2010
16 févr. 2010 à 17:53
Aurriez-vous un exemple? svp, car la sa me rappel juste les conversions en base binaire et décimal
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je viens de tester ça marche ;) .
0
sebdu70 Messages postés 5 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 17 février 2010
17 févr. 2010 à 10:15
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
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
17 févr. 2010 à 11:38
Tu as demandé un algorithme, par définition, c'est écrit en pseudo-langage, adaptable en fonction de ce que tu dois utiliser.
0
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