particules.py
Created by
schraf
Created on
January 09, 2022
395 Bytes
Exercice proposé sur le groupe Facebook
"Casse-tête, énigmes et paradoxes"
3 particules apparaissent de manière aléatoire sur un disque. Quelle est la probabilité que les 3 soient sur un même demi-disque ?
(Le demi disque en question peut être tracé après coup)
Ma chaine Youtube consacrée aux maths et à l’informatique
L’idée est assez simple :
Choisir au hasard 3 angles entre 0 et 360 (par ex : 320, 10, 290)
Trier par ordre croissant : 10, 290, 320
Tester si l’intervalle a une largeur <= 180, si c’est le cas, les 3 points peuvent être mis dans un demi-disque. Ici 320 - 10 = 310 > 180
On ajoute 360 au plus petit, soit maintenant 370, 290, 320. En fait le 10° est proche du 320° car 10+360 = 370° est proche de 320.
Trier par ordre croissant : 290, 320, 370
Cette fois-ci 370 - 290 = 80 <= 180 donc ils peuvent être mis dans un demi-disque
from random import random
from math import sqrt
nbsimul , succes = 10000 , 0
for _ in range ( nbsimul ):
angles = [ 360 * random () for _ in range ( 3 )]
for _ in range ( 3 ):
angles . sort ()
if angles [ - 1 ] - angles [ 0 ] <= 180 :
succes += 1
break
else : angles [ 0 ] += 360
e = 1 / sqrt ( nbsimul )
p = succes / nbsimul
print ( "[{:.2%}, {:.2%}]" . format ( p - e , p + e ))