在這一頁
取消投注系統分析器的源代碼
簡介
以下程式是用 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"; }