If you are calling the same function with different arguments, I would say it's a better option to select the arguments randomly instead of the function.
var args = [
[1,2],
[1,3],
[1,4],
...
]
// Get a random element from the array
// http://stackoverflow.com/a/4550514/558021
var randomArgs = args[ Math.floor( Math.random()*args.length) ];
show_question.apply( this, randomArgs );
The apply function is used here because of the way it passes arguments to the target function. When you use apply
to execute a function, the arguments you want to pass to the function are provided in an array and then split into individual arguments when passed to the target function.