Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatre-vingt trois plus trente neuf
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

A Ratomahenina
29-01-2023 14:39:56

Bonjour

Voici une variante du premier calcul qui donne e avec 13 décimales donc sur 14 chiffres au total :

((3+√2E-3-1E-5-82E-10)/2(√(6^-1(2+3^-1))))+((√(6^-1(2+3^-1)))/(2-56E-12)) = 2.7182818284590

A Ratomahenina
27-01-2023 14:35:06

Bonjour

Il y a une erreur dans le diviseur de la première fraction : il faut le multiplier par 2 avec toutes mes excuses ....

yoshi
27-01-2023 14:05:27

Bonjour,

Il va peut-être falloir modifier le titre de ton sujet... ^_^
Ton résultat et en-dessous, 20 décimales exactes :
2.718281828456
2,71828182845904523536028
Ta douzième décimale est fausse...

@+

A Ratomahenina
26-01-2023 14:38:28

Bonjour

Voici un autre calcul qui donne les mêmes résultats que le premier :

((3+√2E-3)/(√(6^-1(2+3^-1))))+((√(6^-1(2+3^-1))/(2+((1+34^-1)/2)E-4+12^2E-11)) = 2.718281828456

A Ratomahenina
20-01-2023 15:55:23

Bonjour

Il est à noter qu'en soustrayant l'inverse d'un nombre à 3 chiffres au dénominateur de la deuxième fraction ceci donne :

( 2 + (( √3/2 ) - 573^-1 )E-8 )

e donne alors : 2.718281825490

A Ratomahenina
16-01-2023 16:10:10

Bonjour

Alors , qu'en pensez-vous ?

A Ratomahenina
12-01-2023 16:46:53

Bonjour

Je vais vous expliquer comment j'ai fait .

Pour ce calcul j'ai utilisé la formule de Héron que j'ai adapté tel que :

( 4 / ( 2 x )) + ( x / 2 ) = e

Ce qui donne :

( 2 / x ) + ( x / 2 ) = e

Ce qui donne 2 solutions x' et x'' tel que :

x'' × x'' = 4   et  x'' + x'' = 2e

√(( 4/9 ) √3 ) est une approximation de x'' et la formule donne e ~ 2.71819.....
Le calculateur donne la valeur du numérateur de la première fraction : 2.000073203 ce qui ressemble à √3-1 E-4 . L'approximation donne alors :

2.71828183

Pour le diviseur de la deuxième fraction j'ai dû y aller au jugé ( √3/2 )E-8 . Le calcul de e donne :

  2.7182818284551

Matou
08-01-2023 18:53:38

Bonjour,

Mon calcul consiste en une sorte de rationalisation du nombre e qui sait peut-être qu'avec un certain calcul et des valeurs remarquables on tombe sur le nombre e et ce serait là une grande chance.

Euh, $e$ est transcendant, non ?

Cordialement

Matou

yoshi
08-01-2023 18:43:03

RE,

Euler a donné 23 décimales, et lui non plus n'avait pas de calculatrice et il a utilisé les factorielles...

@+

A Ratomahenina
08-01-2023 12:48:44

Bonjour

Oui on arrive à la valeur exacte du nombre e en calculant la somme des inversés des factorielles mais ce n'est pas le but. Mon calcul consiste en une sorte de rationalisation du nombre e qui sait peut-être qu'avec un certain calcul et des valeurs remarquables on tombe sur le nombre e et ce serait là une grande chance. Pour ma part je ne dispose que d'une calculatrice à 10 chiffres .....

Zebulor
07-01-2023 20:33:21

Bonsoir,
j'ai remarqué que cette question du temps d'exécution fait parfois l'objet de questions QCM dans certains concours ...

yoshi
07-01-2023 20:05:58

Bonsoir,

@Glozi : dans le 1000, bravo ! Merci pour cet utile rappel à la vigilance. Ex kendoka, J'ai oublié le zanshin de rigueur, ce n'est pas bien :-((
Je n'ai pas réfléchi : basique n'a pas pour corollaire calculs inutiles...
Version remaniée (sans la fonction fac(n) inutile) :

from math import exp
from decimal import Decimal as D, getcontext
getcontext().prec=101

e_dec=D(1)
fc=1
for n in range(1,101):
    fc*=n
    e_dec+=D(1)/D(fc)

print ("En Python, nativement, on a 16 décimales :")
print("exp(1) =", exp(1))
print()                      
print ("Euler avait calculé les 23 premières décimales :")
print("e = 2,71828182845904523536028")
print()
print ("Wolfram Mathematica donne 39 décimales :")
print ("e = 2.718281828459045235360287471352662497757")
print ()
print ("Les 100 décimales données sur Maths et tiques sont :")
print("e = 2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274)
print()
print ("
Les 100 décimales obtenues via le module decimal sont :")
print("
e_dec =", e_dec)
print()

Sortie :

En Python, nativement, on a 16 décimales :
exp(1) = 2.718281828459045

Euler avait calculé les 23 premières décimales :
e = 2,71828182845904523536028

Wolfram Mathematica donne 39 décimales :
e = 2.718281828459045235360287471352662497757

Les 100 décimales données sur Maths et tiques sont :
e = 2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274

Les 100 décimales obtenues via le du module decimal sont :
e_dec = 2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274

@+

Glozi
06-01-2023 22:58:57

Bonsoir,
Autre précision par rapport au code de Yoshi, pour avoir un code un peu plus optimal il faudrait éviter de calculer $n!$ pour tout $n$ entre $1$ et $N$ en repartant de zéro à chaque fois. En effet, cela coute $n$ multiplications pour calculer $n!$ et donc au total le programme a une complexité en $O(N^2)$.
Une manière de résoudre le "problème" serait la suivante :


from math import exp

N=20 #la somme partielle ira jusqu'au rang N

e=1

fc=1
for n in range(1,N+1):
    fc*= n # à l'étape n, fc vaut n!
    e+=1/fc

print("e =",e)
print("En Python nativement on a exp(1) =",exp(1))
 

Ce qui donne un temps d’exécution en $O(N)$.

Bonne journée

Gui82
06-01-2023 22:20:16

Bonjour Yoshi,
Juste une précision pour ceux qui nous lisent : [tex]\displaystyle e=\sum_{n=0}^{+\infty}\frac{1}{n!}[/tex] ou alors la limite des sommes partielles : [tex]\displaystyle e=\lim_{n\to +\infty}\sum_{k=0}^{n}\frac{1}{k!}[/tex]

yoshi
06-01-2023 21:42:34

Re,

$e=\lim\limits \sum\limits_{n=0}^{\infty} \frac{1}{n!}$
Avec Python , sans utiliser les fonctions existantes, avec un codage basique, j'ai écrit :


from math import exp

def fac(n):
    fc=1
    for i in range(1,n+1):
        fc*=i
    return fc

e=1
for n in range(1,21):
    e+=1/fac(n)
print("e =",e)
print("En Python nativement on a exp(1) =",exp(1))
 

Sortie :

e = 2.7182818284590455
En Python, nativement, on a exp(1) = 2.718281828459045

Si maintenant, je passe par le module decimal, que je demande une précision de 102 chiffres :

from decimal import Decimal as D, getcontext
fin=102
getcontext().prec=102

def fac(fin):
    fc=1
    for i in range(1,fin+1):
        fc*=i
    return fc

e_dec=D(1)
for n in range(1,fin+1):
    e_dec+=D(1)/D(fac(n))

print ("Avec Le module decimal, on a :")
print("e_dec =", e_dec)
print()
print ("Wolfram Mathematica donne :")
print ("e = 2.718281828459045235360287471352662497757")
print ()
print ("En limitant à 100 les décimales de Maths et tiques :")
print ('e = 2,7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274"

N-B : la fonction factorial existe maintenant nativement en Python.

Sortie :

Avec Le module decimal, on a :
e_dec = 2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642741

Wolfram Mathematica donne :
e = 2.718281828459045235360287471352662497757

En limitant à 100 les décimales de Maths et tiques :
e = 2,7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274

@+

Pied de page des forums