Dado un número entero N , la tarea es generar contraseñas aleatorias de longitud N de nivel fácil, medio y fuerte cada una.
Contraseña de nivel fácil: consta solo de números o letras.
Contraseña de nivel medio: consta de letras y números.
Contraseña de nivel fuerte : consta de letras, números y/o caracteres especiales.
Ejemplos:
Entrada: N = 5
Salida:
Contraseña de nivel fácil (solo números): 98990
Contraseña de nivel fácil (solo letras): tpFEQ
Contraseña de nivel medio: b3bC8
Contraseña de nivel fuerte: 7`74nEntrada: N = 7
Salida:
Contraseña nivel fácil (solo números): 7508730
Contraseña nivel fácil (solo letras): mDzKCjN
Contraseña nivel medio: 4Z05s66
Contraseña nivel fuerte: 2384Qu9
Enfoque:
siga los pasos a continuación para resolver el problema:
- Para cada nivel de contraseña, repita la longitud dada.
- Para generar cada contraseña, asigne caracteres y números al azar mediante la generación de números aleatorios en función del nivel de la contraseña.
A continuación se muestra la implementación del enfoque anterior:
C
// C program to generate // password of given length #include <stdio.h> #include <stdlib.h> #include <time.h> // Function to generate easy level // password with numbers void easylevelpassnumbers(int n) { int i; // Random character generation // setting the seed as TIME srand(time(NULL)); printf("Easy level password " "(only numbers): "); for (i = 0; i < n; i++) { // rand() to assign random // characters in the password printf("%d", rand() % 10); } printf("\n"); } // Function to generate easy level // password with letters void easylevelpassletters(int n) { int i, d; printf("Easy level password" " (only letters): "); for (i = 0; i < n; i) { d = rand() % 123; if ((d >= 65 && d <= 90) || d >= 97) { printf("%c", (char)d); i++; } } printf("\n"); } // Function to generate random // medium level password void midlevelpass(int n) { int i, d; printf("Medium level password: "); for (i = 0; i < n; i++) { d = rand() % 123; // Random alphabetic characters if ((d >= 65 && d <= 90) || d >= 97) { printf("%c", (char)d); } else { // Random digits printf("%d", d % 10); } } printf("\n"); } // Function to generate strong // level password void stronglevelpass(int n) { int i, d; printf("Strong level password: "); for (i = 0; i < n; i++) { d = rand() % 200; // Random special characters if (d >= 33 && d <= 123) { printf("%c", (char)d); } else { // Random digits printf("%d", d % 10); } } printf("\n"); } // Driver Code int main() { int n = 5; easylevelpassnumbers(n); easylevelpassletters(n); midlevelpass(n); stronglevelpass(n); }
Easy level password (only numbers): 36707 Easy level password (only letters): cQWxF Medium level password: 56G4w Strong level password: 83s20
Complejidad temporal: O(N)
Espacio auxiliar: O(N)
Publicación traducida automáticamente
Artículo escrito por ayushtamra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA