Suppose we are playing a 2-dice rolling game with the following rules: Start wit
ID: 3681141 • Letter: S
Question
Suppose we are playing a 2-dice rolling game with the following rules: Start with 0 points. Roll 7 = add one point and roll again Roll anything else (not 7) = add that many points to the current amount and finish the game The "Roll 7" rules can happen multiple times. For example, if they rolled 7, then 7, then 9... they would get 1+1+9 = 11 points. Figure out the distribution of points for this game by simulating it happening 1,000,000 times then display the results. Do not show the probability of any values you never saw. Example 1: Chance of rolling 2 is 2.7915% Chance of rolling 3 is 6.0461% Chance of rolling 4 is 9.3637% Chance of rolling 5 is 12.7405% Chance of rolling 6 is1 5.9513% Chance of rolling 7 is 2.6614% Chance of rolling 8 is 14.2741% Chance of rolling 9 is 13.4987% Chance of rolling 10 is 10.5849' Chance of rolling 11 is 7.2984% Chance of rolling 12 is 3.9861% Chance of rolling 13 is 0.6729% Chance of rolling 14 is 0.1081% Chance of rolling 15 is 0.0182% Chance of rolling 16 is 0.0036% C ance of rolling 17 is 0.0004% Chance of rolling 19 is 0.0001%Explanation / Answer
#include<iostream>
#include <iomanip>
#include<stdlib.h>
#include<limits>
typedef std::numeric_limits< double > dbl;
using namespace std;
int main()
{
int scoresum[20];
// init counter
for(int i=0; i<20; i++)
scoresum[i] = 0;
int die1=0;
int die2=0;
int score=0;
double percent;
for(int i=0; i<1000000; i++)
{
score=0;
do
{
die1 = (1 + (rand() % 6));
die2 = (1 + (rand() % 6));
if((die1+die2)==7)
score=score+1;
} while((die1+die2)==7);
score=score+die1+die2;
if(score<20)
scoresum[score]=scoresum[score]+1;
else
scoresum[19]=scoresum[19]+1;
}
for(int i=1; i<20; i++)
{
percent=((scoresum[i])/10000);
std::cout<<"number of times "<<scoresum[i]<<" and percent of "<<i+1<<" "<< percent<<" ";
}
system("pause");
return 0;
}