Random()

Résolu
Bonjour,
j'ai une question sur la fonction random() qui fournie des valeur aléatoire comprise entre 0 et 1 je veux que cette fonction me fournie des valeur entre deux nombre que je choisis moi meme ,
est-ce que c'est possible???
Configuration: Windows XP
Firefox 3.0.5

8 réponses

  1. Contributeur
    Bonjour,
    Tu travailles en quel langage ?

    Cordialement,
    1. Si c'est du php cela donne:

      echo rand(5, 15);

      nombre comprit entre 5 et 15
      1. Arf :'( j'ai répondu trop tard ...
        Mais bon cela pourra servir pour quelqu'un d'autre :)
    2. non ça marche pas pour javascript; la fonction n'admet de parametres
      1. Modérateur
        Peu importe dans quel langage tu codes c'est une histoire de maths :

        si random() te renvoie un nombre entre 0 et 1,
        alors k*random() te renverra un nombre entre 0 et k
        et k+random() te renverra un nombre entre k et k+1,

        en combinant les deux tu auras a+(b-a)*random() compris entre a et b !
    3. merci pour ton lien mais je savais déjà comment avoir une valeur entre 0 et un autre nombre, mais ce que je veux c'est une valeur entre deux nombre de mon choix je veux pas commencer forcément par 0
      vous voyez ?
      1. Contributeur
        Ok,
        Essaie ça :
        - soit min ton minimum
        - soit max ton maximum (tu veux trouver un nombre aléatoire entre 5 et 12 par exemple, min=5 et max=12)

        var alea = random() * (max-min) + min

        Je n'ai pas testé mais j'imagine que ça fonctionne (en plus ça a la même loi de probabilité que random()).

        Cordialement,
        1. Contributeur
          Argh, KX m'a doublé.
          Je suis d'accord pour dire que le langage n'a pas d'incidence si on veut utiliser cette méthode, mais par exemple en C ou Java (et sans doute dans d'autres langages), la modification de paramètres (macro ou utilisation d'attributs statiques de la classe Math) aurait permis de faire ça autrement (peut-être moins proprement, peut-être plus proprement, je n'en sais rien, mais autrement :)).

          Cordialement,