Algo nb de chiffres
Résolu
sebdu70
Messages postés
5
Statut
Membre
-
Orion-Pyro -
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
-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
-
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 -
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...
-
Aurriez-vous un exemple? svp, car la sa me rappel juste les conversions en base binaire et décimal
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
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.... -
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