Tu as testé quoi, qui sont n et k, que représente 0,31 ?
Pourrais-tu énoncer les choses plus clairement, j'ai du mal à suivre. Merci !
from random import *
from statistics import *
def essai(nb) :
N=0
for k in range(nb) :
S=0
for i in range(5000) :
S+=randrange(2)
if 2*S-i < -110 :
N+=1
break
return NL=[essai(100) for i in range(100)]
print(mean(L))
print(stdev(L))N=add(binomial(5000,k) for k in range(2445,2557))
(N/2^5000).n(12)Tu as testé quoi, qui sont n et k, que représente 0,31 ?
import numpy as np
from functools import reduce
nbSim = 100
N = 5000
k = -57
def check(sim, k):
n = len(sim)
s = 0
for x in sim:
s += x
if s <= k:
return False
return True
nbGood = 0
for bulk in range(0, 10):
X = np.random.choice([-1,1],(nbSim,N))
for sim in X:
ok = check(sim, k)
if ok:
nbGood += 1
print('p ', nbGood/(nbSim*10))
def all_you_need_is_basic(sim):
pil = 2606
fac = 2394
for x in sim:
if x == 1:
pil += 1
else:
fac += 1
if pil <= fac+100:
return False
return True
X = np.random.choice([-1,1],(nbSim,N))
nbGood = 0
for bulk in range(0, 10):
X = np.random.choice([-1,1],(nbSim,N))
for sim in X:
ok = check(sim, k)
if ok:
nbGood += 1
print('p_basic', nbGood/(nbSim*10))
function countAll({n,a}){
var s = 0;
function inline(n, k){
if(k > n)return 0;
var s = 1;
var count = 0;
for(var i = 0; i<k; ++i){
s *= (n-i)/(i+1);
while(s > 1e5){
s/=2;
count++;
}
}
s /= Math.pow(2, n-count)
return s;
}
var up = (a - 1)/2
for(var y = 1; y<= up; ++y){
s += 2*inline(n, n/2+y)
}
s += inline(n, n/2)
console.log('p : ', s)
}
countAll({n:5000, a:57});
//0.5798130913083408
fatal_error a écrit:concernant ton code, je reste perplexe, notamment pour
S+=randrange(2)
if 2*S-i < -110 :
je comprends pas pourquoi tu testes ta borne par rapport à 110

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 10 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :