If a large number of fair N-sided dice are rolled, the average of the simulated rolls is likely to be close to the mean of 1,2,...N i.e. the expected value of one die. For example, the expected value of a 6-sided die is 3.5.
Given N, simulate 1e8 N-sided dice rolls by creating a vector of 1e8 uniformly distributed random integers. Return the difference between the mean of this vector and the mean of integers from 1 to N.
The solution quits because it's taking too long. 1e8 is too many?
The difference should essentially be zero i.e. the two averages equal. I wrote a successful script; run in my desktop environment but the tool won't accept my answer as valid.
It crashes every time, how to complete it?
To get this right apparently you have to generate the random numbers exactly the same way as the answer key. When it tests your script it seeds the random number generator and then confirms whether your program gets EXACTLY the same result. However, if you generate the random numbers in any way different from the key, your answer will be "wrong" but is probably still correct.
Note that using rand() with round() will not produce the correct answer. There is another function that must be used instead.
1e8 is too big for the Matlab website. It crashes every time I try it. I managed to find a solution on the full version so I put it in comments and cheated to pass it.
I discovered using a for loop doesn't work - too slow. Then I realised that randi can generate the required vector, doh!
Can anyone do that in a size smaller than 22? That was the smallest size I could get.
Given an unsigned integer x, find the largest y by rearranging the bits in x
577 Solvers
3161 Solvers
Convert given decimal number to binary number.
276 Solvers
365 Solvers
243 Solvers