MATH.RANDOM() And Basic Logic

I wrote a simple code to compare random array differences and found something that I do not quite understand.I generate 2 tables filled with random numbers.
Add differences between random numbers Print the average difference I would have expected the result to be a random number close to 0.5, but in practice it is 0.3333. Why is the array of random numbers set to 0.3 and not to 0.5?
