Nombre aleatoire SANS rand
Résolu
owengas
Messages postés
26
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
Je cherche a obtenir un nombre aleatoire entre 1 et 4 SANS utiliser la fonction random .
Une petite idée ?
Je cherche a obtenir un nombre aleatoire entre 1 et 4 SANS utiliser la fonction random .
Une petite idée ?
A voir également:
- Nombre aleatoire SANS rand
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Gto nombre episode - Forum Cinéma / Télé
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
3 réponses
Bonjour,
Tu peux utiliser la suite suivante
Un+1 = ( 1103515245 * Un + 12345 ) % 2147483647
Pour U0, tu peux prendre time(NULL); et voilà.
A chaque calcul, tu auras un nombre pseudo aléatoire.
C'est le générateur utilisé par Unix d'ailleurs.
Tu peux utiliser la suite suivante
Un+1 = ( 1103515245 * Un + 12345 ) % 2147483647
Pour U0, tu peux prendre time(NULL); et voilà.
A chaque calcul, tu auras un nombre pseudo aléatoire.
C'est le générateur utilisé par Unix d'ailleurs.
Bonjour,
Il vous faut une fonction qui génère un nombre différent à chaque appel de celle-ci comme le fait rand, ce n'est "aléatoire" que lorsqu'on y ajoute une valeur extérieur par exemple le temps avec time(NULL).
Pour que la fonction garde le nombre utilisez une variable static exemple :
à chaque appel de cette fonction n va s'incrémenter de 5 :
n=6
n=11
n=16
etc.
à vous de créer une formule pour remplacer n+5 par exemple en faisant un mix avec le temps ?
puis vous pourrez l'utiliser comme rand() : monrand()%4+1
Il vous faut une fonction qui génère un nombre différent à chaque appel de celle-ci comme le fait rand, ce n'est "aléatoire" que lorsqu'on y ajoute une valeur extérieur par exemple le temps avec time(NULL).
Pour que la fonction garde le nombre utilisez une variable static exemple :
int monrand(){ static unsigned int n=1; n=n+5; return n; }
à chaque appel de cette fonction n va s'incrémenter de 5 :
n=6
n=11
n=16
etc.
à vous de créer une formule pour remplacer n+5 par exemple en faisant un mix avec le temps ?
puis vous pourrez l'utiliser comme rand() : monrand()%4+1