/*************************************************************************************************************************************/ /* */ /* T E S T D U G E N E R A T E U R A L E A T O I R E ' BBS ' ( B L U M - B L U M - S H U B ) : */ /* */ /* */ /* Author of '$xtc/random_BBS.01$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20130605085451). */ /* */ /*************************************************************************************************************************************/ #include <stdio.h> #define NOMBRE 100000 main() { int i; long int NombrePremierP=43991; long int NombrePremierQ=44027; long int Seed=3; /* On notera qu'il faut : */ /* */ /* P = 3 modulo 4 */ /* Q = 3 modulo 4 */ /* */ /* S E [2,(PxQ)-1)] */ /* */ long int Xi; int Compteur_0=0; int Compteur_1=0; Xi=Seed; for (i=0 ; i<NOMBRE ; i++) { int bit; Xi = ((Xi*Xi)%(NombrePremierP*NombrePremierQ)); bit=(Xi&1); if (bit == 0) { Compteur_0++; } else { Compteur_1++; } printf("%d",bit); } printf("\n"); printf("nombre de 0=%d\n",Compteur_0); printf("nombre de 1=%d\n",Compteur_1); }