Generació de nombres aleatoris en un rang en C
Com generar un nombre aleatori en un rang determinat en C. Exemples:
Input : Lower = 50, Upper = 100, Count of random Number = 5 Output : 91 34 21 88 29 Explanation: lower is the lower limit of the range and upper is the upper limit of the range. Output contains 5 random numbers in given range.
C no té una funció incorporada per generar un nombre a l'interval, però sí funció rand que genera un nombre aleatori de 0 a RAND_MAX. Amb l'ajuda de rand () es pot generar un nombre en el rang com num = (rand() % (superior – inferior + 1)) + inferior
C
// C program for generating a> // random number in a given range.> #include> #include> #include> // Generates and prints 'count' random> // numbers in range [lower, upper].> void> printRandoms(> int> lower,> int> upper,> > int> count)> {> > int> i;> > for> (i = 0; i int num = (rand() % (upper - lower + 1)) + lower; printf('%d ', num); } } // Driver code int main() { int lower = 5, upper = 7, count = 1; // Use current time as // seed for random generator srand(time(0)); printRandoms(lower, upper, count); return 0; }> |
Sortida:
7
Complexitat temporal : O(N) on N és el recompte de nombres aleatoris a generar
Espai auxiliar: O(1)
Nota: La sortida generada a cada execució pot ser diferent perquè el nombre es genera aleatòriament.