我希望每次从1到12生成4个唯一数字。例如:[1,3,4,6]或[1,3,10,6]或[1,2,3,4]。 ..但不像[1,2,8,1]或[2,2,4,5] 因为在最后两个块1中出现两次,因此在第二个块中出现2次。我需要随机生成那些独特的数字块。
任何帮助将不胜感激。非常感谢提前...... :)
答案 0 :(得分:0)
在javascript中
random: function (min,max,l){
var arr = [],m = [],n = 0;
if (max - min < l-1) return;
for (var i=0; i<=(max-min); i++)m[i] = i + min;
for (var i=0; i<l; i++) {n = Math.floor(Math.random()*(m.length)); arr[i]=m.splice(n,1);};
return arr;
}
答案 1 :(得分:0)
只需使用随机函数,并将每个生成的随机数字与之前的数字进行比较。
答案 2 :(得分:0)
您尚未指定任何编程语言,但仍会尝试使用您将要使用的语言执行这些步骤:
使用您想要使用的任何编程语言实现上述步骤。
答案 3 :(得分:0)
在javascript中:
var numbers = [0,1,2,3,4,5,6,7,8,9];
var uniqueNumbers = [];
function getRandom(){
return numbers[Math.floor(Math.random()*numbers.length)];
}
while (uniqueNumbers.length < 4){
var value = getRandom();
if(uniqueNumbers.indexOf(value) < 0)
uniqueNumbers.push(value);
}
console.log(uniqueNumbers);