logo

rand() v C

Na generovanie pseudonáhodných čísel sa používa funkcia rand() v programovacom jazyku C. Používa sa v C na generovanie náhodných čísel v rozsahu 0 až RAND_MAX.

Funkcia rand() je súčasťou štandardnej knižnice C takže na použitie tejto funkcie musíme zahrnúť knižnicu.



Syntax funkcie rand()

int rand (void)>

Parametre

  • Táto funkcia neberie žiadne parametre.

Návratová hodnota

  • Táto funkcia vracia hodnotu medzi 0 a RAND_MAX, kde RAND_MAX je makro, ktoré je definované v knižnici.

Poznámka: Funkcia rand() štandardne používa hodnotu 1 ako základ na generovanie náhodných čísel, čo vedie k vygenerovaniu rovnakej postupnosti náhodných čísel. Aby sme tomu zabránili, môžeme použiť srand() funkcia na určenie nového zdroja pre funkciu rand().

Príklady rand() v C

Príklad 1: Ilustrácia funkcie rand().

C








// C program to illustrate the use of rand() function> #include> #include> > int> main()> {> >// Generate a random number using the rand() function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'The Random Value is: %d'>, value);> > >return> 0;> }>

>

javascriptový spánok
>

Výkon

The Random Value is: 1804289383>

Časová zložitosť : O(1)
Priestorová zložitosť: O(1)

Príklad 2: Vygenerujte 10 náhodných čísel

C




// C program to generate 10 random number using rand()> // function> #include> #include> > int> main()> {> >int> i = 0;> >// Loop through 10 times> >for> (; i <10; i++) {> >// Generate a random number using the rand()> >// function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

Výkon

1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>

Ak však chceme vygenerovať nejaké náhodné čísla v rozsahu 0 až N, musíme upraviť vytlačením modulu (N+1) čísel, ktoré generuje funkcia rand().

Príklad: Generujte náhodné čísla menšie ako N

C




// C program to generate random numbers smaller than a> // particular number n> #include> #include> int> main()> {> >// Set a constant 'N' to 1000> >int> N = 1000;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number between 0 and N using> >// the rand() function> >int> value =>rand>() % (N + 1);> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

Výkon

formátovať dátum v jave
897 802 765 992 1 521 220 380 729 969>

Týmto spôsobom môžeme ľahko vygenerovať náhodné číslo od 0 do N.

Tiež, ak chceme náhodné číslo, ktoré bude existovať medzi a nižšia hranica a Horná hranica , môžeme to urobiť pomocou jednoduchej matematiky na náhodnom čísle, ktoré generuje funkcia rand().

Príklad: Generovanie náhodných čísel v rámci rozsahu

C




// C program to illustrate how to generate random number> // withing a range> #include> #include> int> main()> {> >// Set the upper bound for random numbers> >int> upper_bound = 1000;> >// Set the lower bound for random numbers> >int> lower_bound = 100;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number within the specified> >// bounds> >int> value =>rand>() % (upper_bound - lower_bound + 1)> >+ lower_bound;> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

Výkon

943 897 704 678 132 783 902 760 689 765>