Yat, j'ai regardé ton programme, je me demande s'il n'y a pas un problème avec rand()%100. Ce serait une variable uniforme uniquement si rand() prenait ses valeurs dans un intervalle de taille multiple de 100. Or ça a toutes les chances d'être une taille multiple de 2. Ca introduit un biais qui peut être suffisant pour expliquer la différence, non?
L'laternative est quelque chose comme
repéter n <- rand() jusqu'à n<100*k
choix <- n%100
avec k choisi selon l'intervalle effectif de rand()
Cordialement,
-----