### La constante e : le cas Jan Sloot.

Inspiré par un post sur Uzbek & Rica
Certains l'ont découvert par hasard, d'autres y ont consacré des années de recherche : il existe des "nombres univers".
Le nombre d'Euler (noté e ) est l'un d'entre eux : 2,718 281 828 459 045 235 360 287 471 352 662 497 757 247 093 699 959 574 966 967 627 724 076 630 353 547 594 571 382 178 525 166 427 427 466 391 932 003 059 ...

Jan Sloot surveillait ses braises. Un large sourire éclairait son visage. Bien sûr la perspective d'avaler ces délicieuses merguez contribuait à son état d'esprit. Accompagnées d'une salade et d'une bière blonde bien fraîche, sur la table du jardin en compagnie de la famille, c'était parfait. Mais c'était surtout parce que demain, toutes ces longues années de travail allaient enfin payer.
L'idée était pourtant assez simple, et il s'étonnait encore que personne avant lui n'y ait pensé.

Voici deux manières de calculer une valeur approchée de la constante e :

- la formule de Bernoulli : \(e = \lim_{n\to\infty} \left( 1 + \frac{1}{n} \right)^n\)
- la série infinie suivante : \(e = \sum_{n = 0}^\infty \frac{1}{n!} = \frac{1}{0!} + \frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} + \frac{1}{4!} + \cdots\)

L'implémentation informatique directe de ces équations pose des problèmes. Soit cela ne converge pas assez vite vers e, soit les calculs sont trop lents.

Pour être pragmatique, il faut poser: \(u_n=\displaystyle\sum_{k=0}^{k=n}\dfrac{1}{k!}\) et \(v_n=u_n+\dfrac{1}{n\cdot n!}\)

Ce qui donne, par exemple, le programme Python suivant :

    # -*- coding: utf-8 -*-
    def e(ndec=1000):
      n = fn = 1
      while fn < ndec:
        fn *= n; n += 1
      x = u = 10**ndec
      for k in range(n,0,-1):
        u = x + u//k
      return u

    print "// Pour 1000 décimales :"
    print e()
    print "// Pour 100000 décimales :"
    print e(100000);

NB : L'identité d'Euler est considérée par beaucoup comme la plus belle formule des mathématiques. Elle met en jeu deux nombre univers.
Elle s'écrit : \(e^{i\pi} + 1 = 0\)