[LUGOS-PROG] Kako do random stevil...

Primoz PETERLIN primoz.peterlin at biofiz.mf.uni-lj.si
Mon Nov 4 12:45:21 CET 2002


-----BEGIN PGP SIGNED MESSAGE-----

On Thu, 31 Oct 2002, David Klasinc wrote:

>  Kako cimhitreje do random stevil.... Recimo, da potrebujem vsako milisekundo
> drugo random stevilko... Kako do nje?
>
>  for (bla = 0; bla < 100l; bla++)
>  {
>     srand(???);
>
>     rnd = rand();
>
>     printf("R: %d\n", rnd);
>  }
>
> tiste ??? treba z necim nadomestit.. necim kar se zelo pogosto spreminja..

Za razliko od običajnega poljedelstva lahko tu poseješ enkrat, žanješ pa
večkrat. Recimo:

#include <sys/timeb.h>
#include <stdlib.h>
#include <stdio.h>

int i, rnd;
struct timeb t1;

int main(int argc, char *argv[]) {

  ftime(&t1);
  srand(t1.millitm);

  for (i = 1; i < 10; i++)
    {
      rnd = rand();
      printf("%12d\n", rnd);
    }
}

Funkcija rand() je recimo dovolj dobra, da lahko na način, ki ni
dokazljivo nenaključen, za 150 študentov "izžrebaš", kdaj bodo imeli
izpit, ne bi pa nanjo stavil varnosti države... Oceni, kako varnostno
občutljiv je tvoj primer.

Lep pozdrav, Primož

- --
Primož Peterlin,   Inštitut za biofiziko, Med. fakulteta, Univerza v Ljubljani
Lipičeva 2, SI-1000 Ljubljana, Slovenija.  primoz.peterlin at biofiz.mf.uni-lj.si
Tel +386-1-5437632, fax +386-1-4315127,  http://biofiz.mf.uni-lj.si/~peterlin/
F8021D69 OpenPGP fingerprint: CB 6F F1 EE D9 67 E0 2F  0B 59 AF 0D 79 56 19 0F
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (HP-UX)
Comment: For info see http://www.gnupg.org

iQB1AwUBPcZd1j3bcxr4Ah1pAQHbYAMAslO0bXSLxXF4tJkgm+OWbNMFWhwbvM85
wiEUfKYzOVmzLFFyGwJJN2ZiyvGN5Hw1v0miF6T2PCoDQA0C9GgdCSA5foVJqBzO
/aO/1oxLT5Y6RQQQ1/6hZoG+EmI7ekZM
=LvsI
-----END PGP SIGNATURE-----




More information about the lugos-prog mailing list