Решил проверить стратегию «Мартингейл», набросав простенький код на C. В общем, как ни крути, на долгосроке результат один — в какой-то момент не хватает средств для удвоения ставки.
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int r; //что выпадет. 0 или 1
int r2; //ваша ставка на то, что выпадет. 0 или 1
int bet_temp;
int bank_temp;
int total;
int flag = 0;
int bank = 1000000; //сумма на счете
int win = 1; //желаемый размер выигрыша
int bet = 1; //сумма ставки
int main () {
srand(time(NULL));
for (int i = 0; i < 1000000000; i++) {
total = bank + win;
bet_temp = bet;
bank_temp = bank;
while(1) {
bank_temp = bank_temp - bet_temp; //ставим
r = rand() % 2; //выпало столько-то
r2 = rand() % 2; //вы поставили на столько-то
//если угадали
<a name="cut"></a> if (r == r2) {
bank_temp = bank_temp + bet_temp * 2; //забираем выигрыш
}
else (bet_temp = bet_temp * 2); //удваиваем
//game over, не на что удваивать
if (bank_temp <= bet_temp) {
printf("game over, initial amount = ");
printf("%d", bank);
printf(", final amount = ");
printf("%d", bank_temp);
printf(", bet size to continue = ");
printf("%d\n", bet_temp);
flag = 1;
break;
}
//прерываем игру и забираем выигрыш
if (bank_temp >= total)
break;
}
if (flag == 1) {
printf("round = "); //на каком этапе дальше невозможно удвоить
printf("%d\n", i);
break;
}
}
}
До этого можно больше миллиона раз подряд выигрывать по одному доллару со счетом в 1 млн.
Научите код вставлять на смарт-лаб, пожалуйста.
Данис Ахмаев, Это, какой-то тимофеев позор.
и не будет))
недавно апсуждали почему.
обычно разгонной