#include <stdio.h>
#include <stdlib.h>

/* Fonction récursive pour calculer le nombre de chiffres */
int nombre_de_chiffres(unsigned int n) {
    /* Cas de base : un seul chiffre */
    if (n < 10) {
        return 1;
    }
    /* Appel récursif avec la division par 10 */
    return 1 + nombre_de_chiffres(n / 10);
}

/* Fonction principale pour tester */
int main(void) {
    /* Cas de test */
    unsigned int valeurs[] = {0, 999, 10000};
    int resultats_attendus[] = {1, 3, 5};
    int i, resultat;

    printf("Test de la fonction nombre_de_chiffres:\n");
    for (i = 0; i < 3; i++) {
        resultat = nombre_de_chiffres(valeurs[i]);
        printf("Nombre de chiffres de %u : %d (Attendu : %d)\n",
               valeurs[i], resultat, resultats_attendus[i]);
        if (resultat != resultats_attendus[i]) {
            printf("Erreur : le résultat est incorrect pour %u\n", valeurs[i]);
        }
    }

    return EXIT_SUCCESS;
}
