Problème dans la récursivité [Fermé]

Signaler
-
 Ltfx -
Bonjour,

avec la fonction recurcive comment on peut compter combien de chifre on a dans un nombre .
exemple :

1985 on a 4 chiffre probleme

25 on a 2 chiffre

2 réponses

Messages postés
266
Date d'inscription
samedi 10 septembre 2011
Statut
Membre
Dernière intervention
7 juillet 2014
66
Bonsoir,

si j'en crois le post : https://forums.commentcamarche.net/forum/affich-868128-nombre-de-caracteres-d-une-chaine-en-c

Ta solution serait
int strlenght = strlen(tachaine);


Je ne connais pas le C mais en transposant sur du PHP ça me parait pas incohérent
exercice sur la récursivité :


int recur( int a ,int b ){
    if( a == 0 )
        return b;;

return recur( (a/10) , b+1 );
}

// Call 
recur( 1234 , 0 );



si ta variable et un float utiliser round pour arrondir le chiffre.

Attention à la récursivité, ex pour le python au bout de autant de boucle le programme plante. Utilisé une boucle serait le mieux !!
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 222
petite amélioration :
template <class T> int recur( T a ,int b=0 ){
    if( a < 1 )
        return b;

    return recur( a/T(10) , b+1 );
}

// Call 
cout<<recur( 1234  );