Bonjour à toutes et tous,
Je suis actuellement à la recherche d'une fonction capable de me générer un nombre pseudo-aléatoire mais avec quelques règles supplémentaires.
Cette fonction prendrait un argument (un entier) et retournerait un entier aléatoire associé.
L'argument sera la seed du nombre aléatoire retourné par la fonction.
Il faut aussi que la fonction soit bijective, c'est-à-dire que tous les entiers sont "générables" par la fonction.
Il ne faut pas qu'on puisse voir de motif dans la génération des nombres donc on peut exclure les fonctions affines ou exponentielles et logarithmiques.
Enfin, il faudrait que je puisse retrouver la seed depuis un nombre généré.
Voilà un exemple de ce que je voudrais obtenir :
J'ai cherché un peu sur internet avant de poser ma question ici et je suis tombé sur des articles (en anglais) qui parlaient de "bijective mapping" mais je n'ai rien trouvé de concluant en approfondissant sur cette piste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 fonction(45) ==> 878526 fonction(46) ==> 245 fonction(47) ==> 787654 fonction(48) ==> 7883111 noitcnof(245) ==> 46 // "noitcnof" = "fonction" à l'envers noitcnof(7883111) ==> 48
Merci en tout cas pour vos futures réponses, floatNone.
Partager