How can I get a random multiple of 50 between 0 and 800?
So I would need numbers:
0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800.
I've tried using math.getrandomnumber(800)
but that gives me any number.
How can I get a random multiple of 50 between 0 and 800?
So I would need numbers:
0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800.
I've tried using math.getrandomnumber(800)
but that gives me any number.
Firstly You Should get a random number under 16. Then multiply the random number under 16 x 50. Like that you will get always a random multiple of 50 under 800. Because 50 x 16 = 800. And 16 is the maximal number that you can multiply with 50.
RandomNumber_under16 = Math.GetRandomNumber(16)
random_multiple_of_50_under_800 = RandomNumber_under16*50
TextWindow.WriteLine(random_multiple_of_50_under_800)
So I would need numbers, 0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800
You can build these numbers by scaling the numbers in the range [0,16] by a factor of 50.
Given the definition of the Math.GetRandomNumber
function
Math.GetRandomNumber(maxNumber)
Gets a random number between 1 and the specified maxNumber (inclusive).
Parameters
maxNumber: The maximum number for the requested random value.
Returns
A Random number that is less than or equal to the specified max.
your solution will have to account for the fact that the returned random integer starts at 1 whereas you need to include 0 in your list.
Next code snippet produces the desired result:
For i = 1 To 20
TextWindow.WriteLine((Math.GetRandomNumber(17) - 1) * 50)
EndFor
' Math.GetRandomNumber(17) -> [1,17]
' Math.GetRandomNumber(17) - 1 -> [0,16]
' (Math.GetRandomNumber(17) - 1) * 50 -> {0,50,100,150, ... ,800}
Get a random number between
0
and16
, then multiply it with50
.