Suppose we are playing a 2-dice rolling game with the following rules: Start wit
ID: 3681590 • 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 is 15.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%
Chance of rolling 17 is 0.0004%
Chance of rolling 19 is 0.0001%
Explanation / Answer
#include<iostream>
#include <cstdlib>
#include<cstring>
using namespace std;
int main(){
long double arr[17];
int sum=0,total=0,dice1,dice2;
for(int i=0;i<17;i++)
arr[i]=0.0;
for(long i=0;i<1000000;i++){
while(1){
dice1=rand()%6+1;
dice2=rand()%6+1;
sum=dice1+dice2;
if(sum==7){
total+=1;
}else{
total+=sum;
break;
}
}
if(total>19)
total=total%19;
arr[total-3]+=1;
}
for(int i=0;i<17;i++){
cout<<" Chance of rolling "<<(i+2)<<" is "<<(arr[i]/10000)<<"%";
}
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.