solution is correct in my opinion.
rand(1,1)*5+1 will produce random numbers uniformly distributed between 1 and 6; round will convert values from 1 to 1.5 to 1, and values from 1.5 to 2.5 to 2, so 1 will occur only about half as often as 2. Overall, 1 and 6 will occur only about half as often as 2, 3, 4, and 5.
Test | Status | Code Input and Output |
---|---|---|
1 | Fail |
%%
x1 = zeros(1,6000);
x2 = zeros(1,6000);
for ii = 1:6000
[x1(ii),x2(ii)] = rollDice();
end
numCt = sum( bsxfun( @eq, x1, (1:6)' ), 2 ) + sum( bsxfun( @eq, x2, (1:6)' ), 2 );
assert(all(round(numCt/200) == 10) && sum(numCt) == 12000)
Error: Assertion failed.
|
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!