Tout les matins je prend un demi-sucre dans mon café. J'ai une boite de sucre sur une étagère malheureusement assez haute. Quand je prend un sucre dedans je ne vois pas son contenu. Si je prend un sucre entier je le casse en deux, je met la moitié dans mon café et je remet l'autre moitié dans la boite, si je trouve un demi-sucre (laissé par exemple la veille) c'est bon je le met tel quel dans mon café.
Pour le problème on suppose que la boite contient 10 sucres. Le premier jour, il est clair que forcémment je vais prendre 1 sucre entier. Le 20 eme jour il restera forcemment un demi-sucre. Voici la question:
Le 19 eme jour est ce que j'ai une chance sur deux de trouver soit un demi-sucre soit un sucre entier?
Je n'ai pas la solution du tout, je ne sais pas par quel bout (de sucre) prendre ce probleme. J'ai programmé un simulateur, qui montre que le résultat varie en fonction de la valeur initiale (10) dans la boite, considerant qu'un sucre entier vaut 2 et un demi-sucre vaut 1 j'ai une moyenne de 1,238514 .("1 millions d'experiences").Pour une valeur initiale de 20 sucres j'ai:1.196634. Pour une valeur initiale de 100 sucres j'ai: 1.142317 de moyenne.
Voila, je vous souhaite bon courage et de ne pas boire trop de café.
Raphael
PS: ci joint le simulateur Java (ecris vite fait ce matin):
- Code: Tout sélectionner
/*
* Created on 21 mai 2005
*
*
*/
package fr.raphdubois.sugarbox;
import java.util.Random;
/**
* @author Raphael Dubois
*
*
*/
public class SugarBox {
int beginValue=10;
int maxSugar;
int sugarValue=2;
int listSugar[] = new int[1000];
private Random random ;
public SugarBox(Random random) {
this.random=random;
maxSugar=beginValue;
for (int i = 0; i ");
// printBox();
if (take == (2 * beginValue -2) ) {
// printBox();
result = listSugar[0];
}
}
return result;
}
public static void main(String[] args) {
double total=0;
Random random =new Random();
int nbExperience=1;
for (int i = 0; i < nbExperience; i++) {
SugarBox sb = new SugarBox(random);
int result=sb.experience();
total+=result;
}
System.out.println("Le resultat:"+total/nbExperience);
}
}