Вход

Просмотр полной версии : Создание случайных неравных целых чисел


Slamk2
26.02.2009, 20:24
Как создать N неравных целых чисел в определённом диапазоне?
Например нужно создать два неравных числа от 0 до 3;

var x = random(4);
var y = random(4);
................

FaNaT1K
26.02.2009, 21:50
Как создать N неравных целых чисел в определённом диапазоне?
Например нужно создать два неравных числа от 0 до 3;

var x = random(4);
var y = random(4);
................

случайные числа он N до M вычисляются по формуле

(M-N)*Math.random()+N;

а в твоем случае, я думаю что примерно так.

var x:Number=(3)*Math.random();
var y:Number=null;
onEnterFrame=function():Void{
y=(3)*Math.random();
if(y==x){
y=(3)*Math.random();
};

вот, где то так...я думаю, что
если надо округленное число, то тут c функцией Math надо использовать метод округления : round(), еще есть floor() и ceil().

Slamk2
26.02.2009, 22:17
var x:Number=(3)*Math.random();
var y:Number=null;
onEnterFrame=function():Void{
y=(3)*Math.random();
if(y==x){
y=(3)*Math.random();
};
А есле результат функции опять тоже число что x = y ?

qazwsx
26.02.2009, 22:50
var numbersRange:Array = [];
var range:Number = 5;

for(var i:Number = 0; i < range; i++)
{
numbersRange.push(i);
}

function getRandom():Number
{
var index:Number = Math.floor(Math.random() * numbersRange.length);
var ret:Number = numbersRange[index];
numbersRange.splice(index, 1);

return ret;
}

trace(getRandom());
trace(getRandom());
trace(getRandom());
trace(getRandom());

Slamk2
26.02.2009, 22:55
Пасиба!!!

FaNaT1K
27.02.2009, 00:13
Извиняюсь,...за предыдущий пост =)

У меня вот так еще получилось)

var x:Number = Math.floor((3)*Math.random());
var y:Number = Math.round((3)*Math.random());
if (y == x) {
y=Math.ceil(y+0.5);
}
trace(y);
trace(x);