logo article ou rubrique
Constante de Champernowne et Python
Article mis en ligne le 7 mars 2020

par N. Buyle-Bodin
  • Objectifs : A compléter
  • Niveau : 1ere - Tale.
  • Auteur : Arnaud Gazagnes

La constante de Champernowne, noté C_{10}, est le nombre qui égrène, après la virgule, la suite croissante des entiers naturels :

 C_{10} = 0,12345678910111213141516\dots

Ce nombre réel transcendant est nommé ainsi en l’honneur du mathématicien D. G. Champernowne qui l’a introduit en 1933.

Énoncé

Il est demandé de construire une fonction Python qui permette d’obtenir non seulement la valeur de la décimale de rang n demandée mais aussi la valeur du nombre attaché.
En particulier, on cherche la valeur de la décimale de rang 2 020 mais aussi la valeur du nombre attaché.

Méthode

On va donc créer une fonction Decimale de paramètre n qui comporte les variables suivantes :

  1. n (valeur du paramètre) est l’emplacement du chiffre cherché dans la liste 12345678910\dots
  2. champ est la chaîne de caractères constituée de la liste 12345678910\dots qui se construit au fur et à mesure : elle vaut successivement '1', '12', '123', '1234', ...
  3. i est l’entier en cours qui va être concaténé.

Réponse

Un programme solution, écrit en langage Python, est donc le suivant :

def Decimale(n) :
    champ = ""
    i = 0
    while len(champ)<n :
        i = i+1
        champ = champ+str(i)
    return champ[n-1], i