Section courante

A propos

Section administrative du site

RAND

Aléatoire
Langage C stdlib.h

Syntaxe

int rand(void);

Description

Cette fonction retourne un nombre pseudo-aléatoire entier.

Algorithme

MODULE RAND()
   * Algorithme générateur linéaire congruentiel (LCG)
   a ← 1664525         * Multiplieur
   c ← 1013904223      * Incrément
   m ← 232             * Modulo (taille de l'espace des entiers)

   * Récupérer la graine initiale (généralement définie par srand)
   seed ← get_seed_value()

   * Calculer le prochain nombre pseudo-aléatoire
   random_number ← (a x seed + c) modulo m

   * Mettre à jour la graine avec la valeur générée
   set_seed_value(random_number)

   * Retourner le nombre dans l'intervalle [0, RAND_MAX]
   RETOURNE random_number

Remarques

Exemple

Voici un exemple permettant d'afficher des nombres aléatoires :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     printf("Aleatoire entier = %i\n",rand());
  7.     printf("Aleatoire entier (0 a 9) = %i\n",rand() % 10);
  8.     return 0;
  9. }

on obtiendra le résultat semblable suivant :

Aleatoire entier = 41
Aleatoire entier (0 a 9) = 7

Voir également

Langage de programmation - C - Référence de procédures et fonctions - srand
Langage de programmation - C++ - Référence de procédures et fonctions - rand
Langage de programmation - Perl - Référence de procédures et fonctions - rand

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 733.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 206.

Dernière mise à jour : Mardi, le 28 juillet 2015