Generer un nombre aleatoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 47 341 fois - Téléchargée 34 fois


Contenu du snippet

En fait, ce code est très simple, il prend le nombre de secondes depuis une date (ici 31/12/95) et il lui colle à la suite (et non pas en plus) un chiffre aléatoire entre 1 et 1 000 000 donc, normalement, la possibilité pour qu'il y ai 2 fois le même chiffres est casi impossible (vous serez mort avant :) )

Source / Exemple :


<%
'---------- Generation d'un Numero aleatoire
Function GenereAlea()
		Dim RefreshAlea		'Num Aleatoire
		Dim RefreshSec		'Nb de secondes depuis le 31/12/95
		Dim RefreshNum
		Randomize
		RefreshAlea = Int((1000000 * Rnd) + 1)
		RefreshSec = DateDiff("s", "12/31/95", Now)
		RefreshNum = CStr(RefreshSec) & CStr(RefreshAlea)
		GenereAlea = RefreshNum
End Function
'---------- Fin Fonction Generation d'un Numero aleatoire
%> <br>
Voici un chiffre aléatoire unique : <%=GenereAlea%>

Conclusion :


T'as pensez à jouer au lotto ? bah vas-y reste pas devant ton écran :)

A voir également

Ajouter un commentaire

Commentaires

radio4ever
Messages postés
2
Date d'inscription
samedi 4 décembre 2010
Statut
Membre
Dernière intervention
29 mai 2012

:)
blue lue boy
Messages postés
1
Date d'inscription
samedi 29 juillet 2006
Statut
Membre
Dernière intervention
16 juillet 2008

Ben à priori la probabilité de tomber 2 fois sur un même nombre est en fait totalement nulle tant que l'on maintiens un écart d'1 seconde entre deux tirages. Toutefois si l'on tire plusieurs fois par seconde il existe une probabilité relativement importante de tomber deux fois sur le même nombre généré : 1 chance sur 1 millions à chaque tirage fait dans la même seconde. Un CPU logique cadencé à 3 GHz est capable d'effectuer 3 milliards d'opérations par seconde, même s'il lui faut plusieurs opérations pour tirer ton nombre aléatoire, statistiquement il va tomber des centaines voire des milliers de fois par seconde sur le même nombre (avec une optimisation en assembleur de ta source)!

Ceci étant dit, le principal problème de cette source c'est qu'elle va tirer statistiquement des nombres de plus en plus grand dans le temps puisqu'à chaque seconde qui passe, l'un des deux membres de l'addition est augmenté. C'est donc une toujours source dite "pseudo aléatoire" (puisqu'elle est basée sur un randomize) mais avec une progression constante de la fourchette de nombres dans le temps.
cs_MegaMorty
Messages postés
1
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
5 novembre 2006

Je le trouve tres interessant, c'est une methode peut commune mais efficace!
zazoulli
Messages postés
1
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
14 mars 2003

Merci ca m'a bien servi mais il faut encore le crypter avec un algorithme
Sinon merci c bien détailler pas comme chez certain
cs_monstermax
Messages postés
36
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
5 décembre 2002

ouais c pas con. enfin le + important c le randomize et le rnd
sinon, Nix t'as triché pour ta note chui sur ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.