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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)