Les bons points aux...
 
Notifications
Retirer tout

Les bons points aux numéros chauds .

46 Posts
3 Utilisateurs
0 Likes
5,720 Vu
(@glups)
Noble Member
Inscription: Il y a 19 ans
Posts: 1286
Début du sujet  

Dans ce sujet, je comptais décrire le système utilisé par les Pelayos.
Dans un premier temps, il fallait vérifier leurs résultats concernant les bons points d'un cylindre non biaisé.
On peut trouver les résultats des Pelayos pour un certain nombre de lancers compris entre 300 et 30000 dans le tableau des pages 252 et 253 que vous trouverez en pièce jointe.

Ce concept de bons points utilise un calcul combinatoire et des puissances de 1/37 et 36/37.
On se heurte rapidement à des dépassements de capacité (nombre de combinaisons trop grand, puissance trop petite).
Dans le programme ci-dessous, je parviens à contourner cette difficulté jusqu'à un nombre de 26800 lancers (mais pas au delà )en "mixant" le calcul combinatoire et les puissances de 1/37 dans le sous-programme combin2 .
Je ne suis pas informaticien et je débute en C++. Toute correction, toute amélioration et tout conseil seront les bienvenus.
Voici le code utilisé:
________________________
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
double combin2(double x, double y);
void BP2();
___________________________
int main()
{
BP2();
}

void BP2()
{
int k, kk;
double cu1,u1, u2,i, TotalBP;
double numeros=37;
double base1 = double( 1 ) / double( numeros );
double base2 = double( 36 ) / double( numeros );

FILE * outFile;
outFile = fopen ("result2.txt","w");

for (k=3; k<=300; k++)
{
TotalBP =0;
double lancers=k*100;
kk=k*100;
double pivot = double( lancers ) / double( 36 );

for (i=0; i<=lancers; i++)
{
int exposant1 = i;
int exposant2 = lancers - exposant1;
u2 = pow (base2,exposant2);
cu1=combin2(lancers,i);
double proba=cu1*u2;
double BP = (i-pivot)* proba*numeros;
if ( (BP>0))
{
TotalBP=TotalBP + BP;
}
}

fprintf(outFile,"%i",kk) ;
cout << "nb de lancers = " <<kk<<" "<< "BP = " <<TotalBP<< endl<<endl;
fprintf(outFile,"t%fn",TotalBP) ;
}
fclose (outFile);
}
_____________________________________
double combin2(double x, double y)
{
double i,cu1,q;
cu1=1,q=1;
for (i=x-y+1; i<=x; i++)
{
q=i/(i-x+y);
cu1=cu1*q*1/37;
}
return cu1;
}

Il y avait bien d'autres choses à raconter sur la fabuleuse histoire des Pelayos.
Mais, vu le manque d'intérêt rencontré, je m'en tiendrai personnellement là et considère le sujet clos.


   
RépondreCitation
Page 4 / 4
Share:
Casinos Jackpot