2010-11-07 12 views
2

en double possible:
How to create my own JavaScript Random Number generator that I can also set the seedgénérer des nombres "aléatoires" qui sont les mêmes à chaque fois avec javascript (c.-à-tête de série des nombres aléatoires)

Donc, si j'ai cette fonction:

function randArr(count, low, high) { 
    var result = []; 
    for (var i=0; i<count; i++) { 
     result.push(seededRand(low, high)); 
    } 
    return result; 
} 

chaque fois que j'appelle randArr(5, 1, 100) je recevrais le même tableau, par exemple [54, 23, 1, 9, 15].

Mise à jour: Je pense que c'est un dupe, mais comme les commentateurs semblent confus, la question est, comment écrire seededRand()?

+1

Et votre question est? – Oded

+0

Peut-on voir la fonction 'seededRand'? –

+3

Bande dessinée obligatoire en réponse au titre de la question: http://www.hutter1.net/private/random.gif –

Répondre

1

Vous devez implémenter un générateur de nombres aléatoires où vous pouvez définir une graine au début.

J'avais besoin de faire ça il y a un moment en ActionScript et j'ai utilisé Blum Blum Shub, parce que c'est assez facile à implémenter. La mise en œuvre d'un mersene twister devrait également être possible, et devrait donner des résultats «mieux aléatoires».

+1

Blum Blum Shub est plutôt bon, mais ça coûte un peu plus cher sur le traitement. Les algorithmes de Mersenne Twister sont généralement ensemencés par multiplication avec des algorithmes de retenue. Et si vous voulez utiliser Mersenne Twister pour lancer une fonction javascript rand(), pourquoi ne pas l'utiliser en premier lieu? Pour des applications simples, je pense que les générateurs multiplate-avec-carry suffisent. – LostInTheCode