Cómo generar un número aleatorio en un rango dado en C. Ejemplos:
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.
Como C no tiene una función incorporada para generar un número en el rango, pero tiene una función aleatoria que genera un número aleatorio de 0 a RAND_MAX. Con la ayuda de rand(), se puede generar un número dentro del rango como num = (rand() % (superior – inferior + 1)) + inferior
C
// C program for generating a // random number in a given range. #include <stdio.h> #include <stdlib.h> #include <time.h> // Generates and prints 'count' random // numbers in range [lower, upper]. void printRandoms(int lower, int upper, int count) { int i; for (i = 0; i < count; 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; }
Producción:
7
Complejidad de tiempo : O(N) donde N es el conteo de números aleatorios que se generarán
Espacio Auxiliar: O(1)
Nota: la salida generada en cada ejecución puede ser diferente porque el número se genera aleatoriamente.
Publicación traducida automáticamente
Artículo escrito por UPENDRA BARTWAL, y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA