Fini ou infini ?

Narcisse (Le Caravage - 1599)
A l'occasion d'un travail sur les nombres narcissiques avec des élèves de terminale S, la question qui se pose assez naturellement est de savoir si ces nombres sont ou non en nombre infini.
Rappelons tout d'abord la définition de ce type de nombre.
Supposons que \(n\) est un entier dont l'écriture décimale comporte \(m\) chiffres. On dira que \(n\) est narcissique lorsque la somme des puissances \(m\) de chacun de ses chiffres est égale à \(n\).
Par exemple: \(n=153\) est un nombre narcissique car \(1^3+5^3+3^3=1+125+27=153\). 
Une rapide exploration à l'aide d'outils informatiques permet de trouver les premiers nombres narcissiques: les chiffres de 0 à 9 sont évidemment tous narcissiques. Il n'y a aucun nombre narcissique à deux chiffres. Au delà, on peut citer les premiers dans l'ordre croissant: 153, 370, 371, 407, 1634, 8208, 9474.Le fichier Algobox ci-dessous montre comment avec un algorithme de type force brute on peut obtenir ces premiers résultats.

AlgoBox
Tester l'algorithme :

(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)
Résultats :
Code de l'algorithme :
1     VARIABLES
2       k EST_DU_TYPE NOMBRE
3       somme EST_DU_TYPE NOMBRE
4       ks EST_DU_TYPE NOMBRE
5       chiffres EST_DU_TYPE LISTE
6       compteur EST_DU_TYPE NOMBRE
7       l EST_DU_TYPE NOMBRE
8     DEBUT_ALGORITHME
9       POUR k ALLANT_DE 100 A 99999
10        DEBUT_POUR
11        somme PREND_LA_VALEUR 0
12        ks PREND_LA_VALEUR k
13        compteur PREND_LA_VALEUR 0
14        TANT_QUE (ks!=0) FAIRE
15          DEBUT_TANT_QUE
16          compteur PREND_LA_VALEUR compteur+1
17          chiffres[compteur] PREND_LA_VALEUR ks%10
18          ks PREND_LA_VALEUR (ks-chiffres[compteur])/10
19          FIN_TANT_QUE
20        POUR l ALLANT_DE 1 A compteur
21          DEBUT_POUR
22          somme PREND_LA_VALEUR somme+pow(chiffres[l],compteur)
23          FIN_POUR
24        SI (somme==k) ALORS
25          DEBUT_SI
26          AFFICHER k
27          FIN_SI
28        FIN_POUR
29    FIN_ALGORITHME
J'utilise Algobox car c'est un logiciel très bien fait qui permet facilement un apprentissage de l'algorithmique avec des élèves de lycée sans commencer par l'étude d'un langage particulier ce qui n'est pas du tout un objectif dans ce type de classes.
Quel que soit le logiciel utilisé, un algorithme de type force brute trouve très vite, comme souvent, sa limite. Essayons donc une voie analytique pour décider sur la finitude ou non de cet ensemble de nombres.
Si \(n=\overline{a_1a_2 \dots a_m}\) est un nombre à \(m\) chiffres écrit en base 10, on va noter \(S(n)=a_1^m+a_2^m+ \ldots +a_m^m \) la somme des puissances \(m\) de ces chiffres.
Puisque tous les chiffres utilisés sont inférieurs ou égaux à 9, \(S(n) \leq m9^m\). On peut donc comparer \(m9^m\) à \(10^{m-1}\). En effet, si \(m9^m < 10^{m-1}\) cela signifiera que \(m9^m\) et donc \(S(n)\) aura moins de \(m\) chiffres. \(S(n)\) ne pourra donc pas être égal à \(n\). \(n\) ne pourra donc pas être narcissique.
On est donc amené à étudier les variations de la fonction \(f(x)=\dfrac{x9^x}{10^{x-1}}=10x\left(\dfrac{9}{10}\right)^x\).
Après un calcul de dérivée, on parvient à \(f'(x)=10\left(\dfrac{9}{10}\right)^x\left(1+x\textrm{ln}\left(\dfrac{9}{10}\right)\right)\) qui s'annule pour \(x=x_0=-\dfrac{1}{\textrm{ln}\left(\frac{9}{10}\right)} \approx 9,49\). 
Le tableau de variations de \(f\) sur \(]0;+\infty[\) est donc le suivant:



avec \(f(x_0)=-\dfrac{10}{\textrm{e} \, \textrm{ln}\frac{9}{10}} \approx 34,92\).
La fonction \(f\) étant continue et strictement décroissante de \([x_0;+\infty[\) dans \(]0;f(x_0)]\) avec \(f(x_0) > 1\), l'équation \(f(x)=1\) admet une solution unique dans l'intervalle \([x_0;+\infty[\).
Une recherche rapide permet de trouver que cette solution \(\alpha\) appartient à l'intervalle \(]60;61[\). On peut donc dire que lorsque \(x > \alpha\), \(f(x) < 1\) donc \(x9^x < 10^{x-1}\).
Dans le cadre de notre problème, cela se traduit de la manière suivante: lorsque l'entier \(n\) a \(m\) chiffres avec \(m > 60\) alors \(m9^m\) a moins de \(m\) chiffres donc \(S(n)\) (qui est inférieur ou égal à \(m9^m\)) a moins de \(m\) chiffres. \(S(n)\) a ainsi moins de chiffres que \(n\) et ne peut donc pas être égal à \(n\).
Il n'est donc pas possible de trouver des nombres narcissiques de plus de 60 chiffres: ces nombres narcissiques sont donc en nombre fini !.
Une recherche menée en 1985 a permis de trouver qu'il n'y a que 88 nombres narcissiques. Le plus grand d'entre eux est égal au monstre à 39 chiffres suivant: 115132219018763992565095597973971522401.

Commentaires

Posts les plus consultés de ce blog

Quelle dimension !

Graphiques trompeurs

Une enigme animalière