De functie rand() in de programmeertaal C wordt gebruikt om pseudo-willekeurige getallen te genereren. Het wordt in C gebruikt om willekeurige getallen te genereren in het bereik 0 tot RAND_MAX.
De functie rand() maakt deel uit van de standaard C-bibliotheek dus om deze functie te gebruiken, moeten we de bibliotheek opnemen.
Syntaxis van rand()
int rand (void)>
Parameters
- Deze functie gebruikt geen parameters.
Winstwaarde
- Deze functie retourneert de waarde tussen 0 en RAND_MAX, waarbij RAND_MAX de macro is die in de bibliotheek is gedefinieerd.
Opmerking: De functie rand() gebruikt standaard de waarde 1 als zaad om willekeurige getallen te genereren, wat leidt tot het genereren van dezelfde reeks willekeurige getallen. Om dit te voorkomen kunnen we gebruik maken van strand() functie om een nieuw zaad voor de functie rand() op te geven.
Voorbeelden van rand() in C
Voorbeeld 1: Illustratie van de functie rand().
C
uri versus url
// 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;> }> |
>
een array van objecten java
>Uitvoer
The Random Value is: 1804289383>
Tijdcomplexiteit : O(1)
Ruimtecomplexiteit: O(1)
Voorbeeld 2: Genereer 10 willekeurige getallen
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;> }> |
>
>
numpy lijnruimteUitvoer
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>
Maar als we willekeurige getallen willen genereren in het bereik van 0 tot N, moeten we dit wijzigen door de modulo van (N+1) af te drukken van de getallen die worden gegenereerd door de functie rand().
Voorbeeld: Genereer willekeurige getallen kleiner dan 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;> }> |
>
>
tweevoudig javaUitvoer
897 802 765 992 1 521 220 380 729 969>
Op deze manier kunnen we eenvoudig het willekeurige getal van 0 tot N genereren.
Ook als we een willekeurig getal willen dat tussen a ondergrens En bovengrens , kunnen we dit doen door eenvoudige wiskunde te gebruiken op het willekeurige getal dat wordt gegenereerd door de functie rand().
Voorbeeld: genereer willekeurige getallen binnen een bereik
C
Java en swing
// 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;> }> |
>
>Uitvoer
943 897 704 678 132 783 902 760 689 765>