Funkcja Rand() w języku programowania C służy do generowania liczb pseudolosowych. Jest używany w C do generowania liczb losowych z zakresu od 0 do RAND_MAX.
Funkcja Rand() jest częścią standardowej biblioteki C więc aby skorzystać z tej funkcji, musimy dołączyć bibliotekę.
pogrubienie w css
Składnia Rand()
int rand (void)>
Parametry
- Funkcja ta nie przyjmuje żadnych parametrów.
Wartość zwracana
- Ta funkcja zwraca wartość z zakresu od 0 do RAND_MAX, gdzie RAND_MAX to makro zdefiniowane w bibliotece.
Notatka: Funkcja Rand() domyślnie używa wartości 1 jako materiału siewnego do generowania liczb losowych, co prowadzi do wygenerowania tej samej sekwencji liczb losowych. Aby temu zapobiec, możemy użyć srand() funkcja określająca nowe ziarno dla funkcji Rand().
Przykłady Rand() w C
Przykład 1: Ilustracja funkcji 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;> }> |
>
>Wyjście
The Random Value is: 1804289383>
Złożoność czasu : O(1)
Złożoność przestrzeni: O(1)
Przykład 2: Wygeneruj 10 liczb losowych
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;> }> |
>
>Wyjście
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>
Jeśli jednak chcemy wygenerować liczby losowe z zakresu od 0 do N, musimy je zmodyfikować, drukując modulo (N+1) liczb generowanych przez funkcję Rand().
Przykład: Generuj liczby losowe mniejsze niż N
C
„algorytm Kruszala”
// 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;> }> |
>
>Wyjście
897 802 765 992 1 521 220 380 729 969>
W ten sposób możemy łatwo wygenerować liczbę losową od 0 do N.
Ponadto, jeśli chcemy losowej liczby, która będzie istnieć pomiędzy a Dolna granica I Górna granica , możemy to zrobić, używając prostej matematyki na liczbie losowej generowanej przez funkcję Rand().
Przykład: Generowanie liczb losowych w określonym zakresie
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;> }> |
>
>Wyjście
943 897 704 678 132 783 902 760 689 765>