logo

rand() у C

Функція rand() у мові програмування C використовується для генерації псевдовипадкових чисел. Він використовується в C для генерації випадкових чисел у діапазоні від 0 до RAND_MAX.

Функція rand() є частиною стандартної бібліотеки C тому, щоб використовувати цю функцію, нам потрібно включити бібліотеку.



Синтаксис rand()

int rand (void)>

Параметри

  • Ця функція не приймає жодних параметрів.

Повернене значення

  • Ця функція повертає значення від 0 до RAND_MAX, де RAND_MAX — макрос, визначений у бібліотеці.

Примітка: Функція rand() за умовчанням використовує значення 1 як початкове значення для генерації випадкових чисел, що призводить до генерації тієї самої послідовності випадкових чисел. Щоб запобігти цьому, ми можемо використовувати srand() функція для визначення нового початкового числа для функції rand().

Приклади rand() у C

Приклад 1. Ілюстрація функції 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;> }>

np.гістограма
>

>

Вихід

The Random Value is: 1804289383>

Часова складність : O(1)
Космічна складність: О(1)

Приклад 2. Згенеруйте 10 випадкових чисел

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;> }>

визначити комп'ютер

>

>

Вихід

1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>

Але, якщо ми хочемо згенерувати деякі випадкові числа в діапазоні від 0 до N, тоді нам потрібно змінити, надрукувавши модуль (N+1) чисел, згенерованих функцією rand().

Приклад: генеруйте випадкові числа, менші за 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;> }>

>

>

Вихід

897 802 765 992 1 521 220 380 729 969>

Таким чином ми можемо легко згенерувати випадкове число від 0 до N.

Крім того, якщо нам потрібно випадкове число, яке буде між a нижня_межа і верхня_межа , ми можемо зробити це, використовуючи просту математику для випадкового числа, яке генерує функція rand().

Приклад: генерація випадкових чисел у межах діапазону

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;> }>

>

Команда повернення java

>

Вихід

943 897 704 678 132 783 902 760 689 765>