在這一頁
取消投注系統分析器的源代碼
簡介
以下程式是用 C++ 寫的。它非常簡單,任何有一點 C++ 經驗的人都應該能夠理解它的工作原理。抱歉,文檔不足,但只要遵循其邏輯,應該不難理解它是怎麼回事。
//
// 取消系統分析器
// 1998年10月19日
//
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#包括<math.h>
#包括<時間.h>
#包括 <stdio.h>
無效 tenbet();
int main()
{
字元 ch;
做
{
滕貝特();
cerr << "再玩一次?";
cin >> ch;
}
while ((ch == 'y') || (ch == 'Y'));
返回 0;
}
無效 tenbet()
{
int maxloss,num,bet[1000],lpt,rpt,i,j,curbet,bank,result[2],randwin,g;
長投注,旋轉;
cerr << "輸入最大損失"; cin >> maxloss;
cerr << "輸入試驗次數 "; cin >> num;
cerr << "輪盤賭(1) 還是擲骰子(2)? "; cin >> g;
結果[0] = 0;
結果[1] = 0;
投注 = 0;
旋轉=0;
如果(g == 1)
{
蘭德溫 = 32767 * 18/38;
}
別的
{
蘭德溫 = 32767 * 244 / 495;
}
對於(i = 1;i <= num;i++)
{
銀行=0;
lpt=1;
rpt=10;
對於(j = 1;j <= 10;j++)
{
賭注[j] = 1;
}
做
{
如果(rpt == lpt)
{
curbet = 賭注[rpt];
}
別的
{
curbet = 賭注[lpt] + 賭注[rpt];
}
while ((maxloss+bank < curbet)&&(maxloss+bank > 0))
{
旋轉++;
如果(最大損失 + 銀行 >= 賭注[lpt])
{
totbet += 賭注[lpt];
如果(rand()<= randwin)
{
銀行 += 賭注[lpt];
lpt++;
}
別的
{
銀行-=賭注[lpt];
賭注[lpt] *= 2;
}
}
別的
{
totbet += (最大損失 + 銀行);
如果(rand()<= randwin)
{
賭注[lpt] -= (最大損失 + 銀行);
銀行 += (最大損失 + 銀行);
}
別的
{
銀行 -= (最大損失 + 銀行);
}
}
如果(rpt == lpt)
{
curbet = 賭注[rpt];
}
別的
{
curbet = 賭注[lpt] + 賭注[rpt];
}
}
如果(最大損失 + 銀行 > 0)
{
totbet+=curbet;
旋轉++;
如果(rand()<= randwin)
{
lpt++;
rpt--;
銀行+= curbet;
}
別的
{
rpt++;
賭注[rpt] = curbet;
銀行 -= 路緣;
}
}
}
while ((lpt <= rpt) && (maxloss + bank > 0));
如果(最大損失+銀行==0)
{
結果[1]++;
}
別的
{
結果[0]++;
}
如果(i%100000 == 0)
{
cerr << i << "\n";
}
}
cerr << "最大損失:" << maxloss << "\n";
cerr << "損失機率:" << (float)(result[1])/(float)(num) << "\n";
cerr << "平均旋轉次數:" << (float)(spins)/(float)(num) << "\n";
cerr << "平均賭注:" << (float)(totbet)/(float)(num)<<"\n";
cerr << "勝利:" << result[0]<<"\n失敗:"<<result[1]<<"\n";
cerr << "總投注:" << totbet<<"\n";
cerr << "總贏/輸: " << (result[0]*10)-(result[1]*maxloss) << "\n";
cerr << "總旋轉次數:" << 旋轉 << "\n";
cerr << "淨虧損:" << (float)((result[0]*10)-(result[1]*maxloss))/(float)totbet << "\n";
}