fork download
  1. <?php
  2. for($experimentCount=1; $experimentCount<=10; $experimentCount++) {
  3. $winIfReplace=0;
  4. $truthoseIfChange=0;
  5. $testsCount = 10000;
  6. $valueChange = array();
  7. for ($j = 0; $j < $testsCount; $j++) {
  8. $arrayExample = array("0","1","2");
  9. //$arrayExample-массив для сравнения
  10. $truth = rand(0, 2);
  11. $option = rand(0, 2);
  12. $arrayTest = array(
  13. $option,
  14. $truth
  15. );
  16. //$arrayTest-формируем массив для удаления из $arrayExample варианта игрока и того варианта что выпад
  17. $difference = array_diff($arrayExample, $arrayTest);
  18. $valueChange = array_rand($difference);
  19. //удалим один вариант $valueChange, $valueChange это случайный вариант из массива расхождений $difference
  20. for ($i = 0; $i <= 2; $i++) {
  21. if ($arrayExample[$i] != $valueChange && $arrayExample[$i] != $option) {
  22. $trueOption = $arrayExample[$i];
  23. }
  24. }
  25. //Выбираем вариант который не равен не ранее названному не удалённому варианту
  26. if ($option == $truth) {
  27. $truthoseIfChange++;
  28. }
  29. if($trueOption==$truth) {
  30. $winIfReplace++;
  31. }
  32. }
  33. $winIfChangeProbability=$winIfReplace/$testsCount;
  34. $loseIfChangeProbability=$truthoseIfChange/$testsCount;
  35. echo "Опыт $experimentCount Изменил $winIfReplace, вероятность $winIfChangeProbability не изменил $truthoseIfChange, вероятность $loseIfChangeProbability\n";
  36. }
  37. // your code goes here
Success #stdin #stdout 0.67s 24448KB
stdin
Standard input is empty
stdout
Опыт 1 Изменил 6592, вероятность 0.6592 не изменил 3408, вероятность 0.3408
Опыт 2 Изменил 6586, вероятность 0.6586 не изменил 3414, вероятность 0.3414
Опыт 3 Изменил 6728, вероятность 0.6728 не изменил 3272, вероятность 0.3272
Опыт 4 Изменил 6665, вероятность 0.6665 не изменил 3335, вероятность 0.3335
Опыт 5 Изменил 6731, вероятность 0.6731 не изменил 3269, вероятность 0.3269
Опыт 6 Изменил 6597, вероятность 0.6597 не изменил 3403, вероятность 0.3403
Опыт 7 Изменил 6665, вероятность 0.6665 не изменил 3335, вероятность 0.3335
Опыт 8 Изменил 6700, вероятность 0.67 не изменил 3300, вероятность 0.33
Опыт 9 Изменил 6681, вероятность 0.6681 не изменил 3319, вероятность 0.3319
Опыт 10 Изменил 6624, вероятность 0.6624 не изменил 3376, вероятность 0.3376