早教吧 育儿知识 作业答案 考试题库 百科 知识分享

哪个高手帮帮忙吧,用C++编程解决一下两道题:1.假设一个玩家赌本为1000元,每次一元为赌注,赌博1000次,赔率为1:36(本应为1:36,0预留给庄家),在赌1000次后,赌徒还有多少钱?2.

题目详情
哪个高手帮帮忙吧,用C++编程解决一下两道题:
1. 假设一个玩家赌本为1000元,每次一元为赌注,赌博1000次,赔率为1:36(本应为1:36,0预留给庄家),在赌1000次后,赌徒还有多少钱?
2. 给某个玩家100元的资本,让他不停押注直到输光,计算需要赌博多少次?如果把次数放在数组ruinLength[]中,进行1000次实验后,看看破产的最大次数、最小次数和平均次数分别是多少?
问题的实质是这样的 要求是0到35的轮盘(即0到35的随机数)如果计算机产生的随机数为0 则庄家赢,玩家给庄家36块,要是产生的是1到35的任何的一个数 就是玩家赢得一块,两道题的赔率是一样的,求高手解答~~~
▼优质解答
答案和解析
1.#include
#include
using namespace std;
int main()
{
srand(0);
int money = 1000;
for (int i = 1;i <= 1000;i ++)
if (rand() % 36 == 0)
money += 36;
else
money --;
cout << money << endl;
cin.get();
return 0;
}
2.#include
#include
using namespace std;
int main()
{
srand(0);
const int num = 1000;
int ruinLength[num];
for (int i = 0; i < num; i ++)
{
ruinLength[i] = 0;
for (int money = 100; money > 0; ruinLength[i] ++)
{
if (rand() % 36 == 0)
money += 36;
else
money --;
};
};
int max = ruinLength[0], min = ruinLength[0], sum = ruinLength[0];
for (int i = 1; i < num; i ++)
{
sum += ruinLength[i];
if (max < ruinLength[i])
max = ruinLength[i];
else if (min > ruinLength[i])
min = ruinLength[i];
};
cout << "max is " << max
<< ",min is " << min
<< ",average is " << (double)(sum) / num << endl;
cin.get();
return 0;
}