fork(3) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define maxrolls 10
  4. #define initialWallet 10000
  5. #define numOfTests 3000
  6.  
  7.  
  8. int main() {
  9. srand(time(NULL));
  10. double win = 0;
  11. int qtd = numOfTests;
  12. double medValue = 0.0;
  13. for( int j = 0; j < qtd; j++){
  14. double wallet = initialWallet;
  15. bool lastResult = true;
  16. double lastBet = 0.01;
  17. int counter = 0;
  18. int d = 0;
  19. for (int i = 0;i<maxrolls; i++) {
  20. if (lastResult == true) {
  21. lastBet = 0.01;
  22. counter = d = 0;
  23. }
  24.  
  25. if (counter == 10) {
  26. d++;
  27. counter = 0;
  28. }
  29. lastBet = (0.01 * pow(2,d));
  30. wallet-=lastBet;
  31. if(wallet < 0) break;
  32. int val = 0;
  33. int roll = rand()%15;
  34. lastResult = (roll == 0);
  35. if(lastResult) wallet += 14*lastBet;
  36. }
  37. win+=(wallet>0);
  38. if(wallet>0)medValue+=wallet;
  39. }
  40. double prob = (win/qtd);
  41. printf("%.5lf - %.5lf\n",(prob*100.0),medValue/win);
  42. return 0;
  43. }
Success #stdin #stdout 0s 15224KB
stdin
Standard input is empty
stdout
100.00000 - 9999.99534