Eviter l'overflow dans un programme
Bonjour, j'ai fait un programme qui fonctionne bien, cependant lorsque j'utilise des grands nombre j'atteint la limite de l'overflow.
J'aimerai donc pouvoir executer mon calcul plus loin sans cette limite.
Je tien a preciser que ma calculatrice du lycee en 8 bit et capable de depasser cette limite.
J'ai deja essaye la methode round avec binomfdp et binomfrep de tel sorte que la fonction retourne un flottant avec 4 decimal mais ca n'a rien changé.
Merci d'avance pour votre aide .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import math
nombre = int(input("Quel est le nombre essaie?\n"))
prob = float(input("Quel est la probabilité de succes?\n"))
k = 0
def binomfdp(n,p,k) :
return ((math.factorial(n)) / (math.factorial(k) * math.factorial(n-k))) * pow(p,k) * pow(1-p,n-k)
def binomfrep(n,p,k) :
l = 0.0
for i in range (0,k+1):
l = l + binomfdp(n, p, i)
return l
while binomfrep(nombre, prob, k) <= 0.025:
k = k + 1
print("A=",k)
m = k
while binomfrep(nombre, prob, m) < 0.975 :
m = m+1
print("B=",m) |