Bon, il n'y a plus trop de participation, il est temps que je donne ma solution :
On va donc travailler avec l'écriture décimale des nombres réels .
On définie pour chaque X deux suites [latex]z_n[/latex] et [latex]u_n[/latex] comme le nombre de fois que le chiffre 0 (respectivement 1) apparait dans les n première décimales de X. Par exemple si X= 10253,0012811193... alors [latex]z_{15}=3[/latex] et [latex]u_{15}=5[/latex].
On définie une fonction intermédiaire g dont f découlera naturellement.
Il y a deux cas :
1) la suite [latex]u_n/z_n[/latex] diverge, alors on choisit g(X)=0 ;
2) la suite [latex]u_n/z_n[/latex] converge vers un réel W alors on choisit g(X)=W ;
Remarque : On vient d'utiliser le principe du tiers exclu. En générale il est difficile de savoir si la suite converge ou diverge, mais dans de nombreux cas comme les fractions on peut calculer W. En effet l'écriture décimale d'une fraction est périodique, W est alors égale au nombre de 1 sur le nombre de 0 de la période (dans le cas où il y a au moins un 0).
Par exemple si X=4,3010301030103010... alors W=1/2.
Montrons maintenant que cette fonction est passe partout partout:
Choisissons un intervalle ]a,b[ quelconque et une valeur [latex]Y>=0[/latex] à atteindre.
Maintenant appelons r un nombre entier tel que [latex] b > a+10^{-r} [/latex].
Tous les nombres qui commences par les r premiers chiffres de [latex]a+10^{-r}[/latex] sont dans ]a,b[.
Il suffit maintenant de rajouter à ces chiffre des 0 et des 1 pour construire un nombre tel que [latex]u_n/z_n[/latex] tende vers Y. On procède comme suit:
Si [latex]u_n/z_n > Y[/latex] on rajoute un 0, sinon on rajoute un 1 et ainsi de suite.
Voilà maintenant il ne reste plus qu'un ajustement pour atteindre les valeurs négatives:
On peut simplement poser pour conclure f(X) = ln(g(X)) quand g(X) est différent de 0, et f(X) = 0 sinon.
Moi je préfère définir de manière analogue à g une fonction h avec les suites [latex]d_n/t_n[/latex] (le nombre de 2 divisé par le nombre de 3 dans les n première décimales) puis poser enfin f(X) = g(X) - h(X).
Cette fonction a alors la propriété d'être passe partout partout des rationnels vers les rationnels (on a vu que W existe et est une fraction si X est lui même une fraction).
Merci pour les participations , si vous avez aimez ce problème, je peux vous en proposer d'autres dans le même genre (en un peu moins monstrueux quand même).