Funkce rand() v programovacím jazyce C se používá ke generování pseudonáhodných čísel. Používá se v C ke generování náhodných čísel v rozsahu 0 až RAND_MAX.
Funkce rand() je součástí standardní knihovny C takže k použití této funkce musíme zahrnout knihovnu.
Syntaxe rand()
int rand (void)>
Parametry
- Tato funkce nepřebírá žádné parametry.
Návratová hodnota
- Tato funkce vrací hodnotu mezi 0 a RAND_MAX, kde RAND_MAX je makro, které je definováno v knihovně.
Poznámka: Funkce rand() ve výchozím nastavení používá hodnotu 1 jako zdroj pro generování náhodných čísel, což vede ke generování stejné sekvence náhodných čísel. Abychom tomu zabránili, můžeme použít srand() funkce k určení nového zdroje pro funkci rand().
Příklady rand() v C
Příklad 1: Ilustrace funkce 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;> }> |
python snížit
>
>Výstup
The Random Value is: 1804289383>
Časová složitost : O(1)
Prostorová složitost: O(1)
Příklad 2: Vygenerujte 10 náhodných čísel
C
latexový seznam
// 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;> }> |
>
>
java matematická třídaVýstup
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>
Ale pokud chceme vygenerovat nějaká náhodná čísla v rozsahu 0 až N, musíme upravit vytištěním modulo (N+1) čísel, která jsou generována funkcí rand().
Příklad: Generujte náhodná čísla menší než 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;> }> |
>
>
centrování obrázků v cssVýstup
897 802 765 992 1 521 220 380 729 969>
Tímto způsobem můžeme snadno vygenerovat náhodné číslo od 0 do N.
Také, pokud chceme náhodné číslo, které bude existovat mezi a dolní_mez a horní hranice , můžeme to udělat pomocí jednoduché matematiky na náhodné číslo, které je generováno funkcí rand().
Příklad: Generování náhodných čísel v rozsahu
C
zkontrolujte verzi Java na linuxu
// 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ýstup
943 897 704 678 132 783 902 760 689 765>