Lua math.random? [duplicate] - random

This question already has answers here:
Generating uniform random numbers in Lua
(4 answers)
Closed 8 years ago.
I've been having trouble generating a random number for a while now using Lua. I tried starting the script with math.randomseed(os.time()) and I was still getting the same results. How would I get the script below to generate a new random number every time I run the script?
function rand()
local x = math.random(1, #Questions) --Pick a random question from a table
return x
end

This is a well known problem. Just call math.random once or twice before using the result in your program.

Related

Generating a random number between 0.5 and 1.5 in bash [duplicate]

This question already has answers here:
How to generate a random decimal number from 0 to 3 with bash?
(2 answers)
Generate random float number in given specific range of numbers using Bash
(3 answers)
Closed 2 years ago.
I need random numbers to three decimal places like:
0.624, 1.035, 0.869, 1.324
What I am using is:
"0.$(($RANDOM%1000+500))"
However, in this case, all the values less than 1 are correct (i.e. 0.917,0.917,0.917,0.855), but the values greater than 1 are incorrect (i.e 0.1195,0.14340.1434) as I append 0. At the beginning of the random number produced.
Thanks.

Pascal Lazaruz doesn't do its division properly for some instances [duplicate]

This question already has answers here:
Is floating point math broken?
(31 answers)
Why are floating point numbers inaccurate?
(5 answers)
Closed 2 years ago.
program Project1;
var p : real;
const s=439 ;
begin
p:=s/100;
Write(p);
ReadLn;
end.
Output of the above code is expected to be 4.39, but this gives 4.3899999999999997E+000.
Where do these additional 89999999 came from? How to omit this and get the correct answer?
Thanks in advance!
P.S. If we assign s = 433 it gives the expected output as 4.3300000000000001E+000. My issue is, how this division can be number related?
Edit: I want to know a remedy to overcome this inaccuracy. It may be a code line or two, what ever possible to get rid of this issue.

Is there a way to obtain the state of the random number generator? [duplicate]

This question already has answers here:
Retrieve RNG seed in julia
(6 answers)
Closed 5 years ago.
Say I seed 123 with srand(123), and run rand() X times. Later, I want to be able to restart Julia and seed a number (or state) such that when I run rand() again I get the number that would have been generated if I had seed 123 and run rand() X + 1 times. Is there any way I can do that, or do I really have to run rand() X times to obtain the state I want?
If the solution with custom random number generator presented in Retrieve RNG seed in julia is not feasible for you the best I can come up with is to copy the whole structure of global random number generator:
function reset_global_rng(rng_state)
Base.Random.GLOBAL_RNG.seed = rng_state.seed
Base.Random.GLOBAL_RNG.state = rng_state.state
Base.Random.GLOBAL_RNG.vals = rng_state.vals
Base.Random.GLOBAL_RNG.idx = rng_state.idx
end
rs = deepcopy(Base.Random.GLOBAL_RNG)
println(rand(5))
# [0.301558,0.602108,0.220952,0.0338732,0.553414]
reset_global_rng(rs)
println(rand(5))
# [0.301558,0.602108,0.220952,0.0338732,0.553414]
although I am not 100% sure how it does not come into interaction with dsfmt_gv_srand() in random.jl.

How can I generate a random number between 0-5 in Swift? [duplicate]

This question already has an answer here:
How to generate a random number in a range (10...20) using Swift [duplicate]
(1 answer)
Closed 6 years ago.
I have only been coding in my off time for a couple of weeks now and am creating an app with a very basic "guess how many" concept. The user will enter a number between 0-5 and the app will tell the user whether they are right or wrong.
How would I generate a number between 0-5?
You can use any random method and performing modulo operator on it
let randomNumber = random() % 6

confirmation of my Counting inversion experiment [duplicate]

This question already has answers here:
Counting inversions in an array
(38 answers)
Closed 9 years ago.
I have written a mergesort(divide and conquer) algorithm and I want to use the following arrays to test if the inversion works efficiently..
So, i would just want to confirm the inversion for each of the following arrays .
1. {10,2,3,22,33,7,4,1,2} = 13
2. {4,5,6,1,2,3} = 9
3. {1,20,6,4,5} = 5
4. {3,1,2,0,4} = 5
are all these correct? I do know a question similar has been asked but I just want to confirm if my calculation was correct. with that, I can test my algorithm.Also, this is not an homework. I just want to be so so sure that I have the write inversion count so that i can test it against my code..
No.
Your output for the first case should be 22. Also this is not how you check the efficiency of your code. You should try to check in some competitive programming sites for similar kind of problems. For example there a problem in spoj for Counting inversion. Here is the link:
http://www.spoj.com/problems/INVCNT/
Try submitting it there.

Resources