Publi

  • 2 Maneras de generar identificadores universalmente únicos (UUID) en C

    Una buena forma de poner nombre a nuestros recursos con más o menos certeza de que ese nombre es único, es utilizar UUID‘s. Es cierto, que si en máquinas diferentes se generan UUIDs al mismo tiempo, puede ser que haya cierta coincidencia en los valores generados (si nos ponemos cabezones, y si en algún sitio deben convivir varios UUIDs, podemos comprobar que no estén repetidos. Incluso, dependiendo del algoritmo utilizado para generarlos, puede que en la misma máquina haya valores repetidos.… Leer artículo completo

  • Algoritmos: generar números aleatorios para la lotería

    Es un ejemplo típico y nos muestra el uso de rand() con arrays para generar varios números aleatorios y no repetidos.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    /**
    *************************************************************
    * @file loteria.c
    * @brief Saca números aleatorios para la lotería
    * Basado en el sorteo de la primitiva, hay que sacar 7 números
    * del 1 al 49, sin repetir
    *
    * @author Gaspar Fernández <blakeyed@totaki.com>
    * https://poesiabinaria.net/algoritmos/
    *************************************************************/


    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>       /* para time() */


    int numero_aleatorio(int desde, int hasta)
    {
      return desde+rand()%(hasta-desde+1);
    }

    short numero_repetido(int numeros[7], int n)
    {
      int i=0;

      while (i<n)
        {
          /* Si un número sacado anteriormente es igual al número
             en la posición n, decidido, está repetido.
    Leer artículo completo
  • Recopilación de soluciones para los retos de #tuentiContest . Challenge #20

    Últimamente he hablado acerca del I concurso de programación de Tuenti. Un concurso de programación Online que se llevó acabo durante la semana pasada (del 13 al 20 de Junio, muy mala fecha).

    Podéis ver los enunciados de todos los problemas, con ejemplos sobre la entrada y salida (aunque a veces no hay que hacerles mucho caso) en la web oficial del concurso, pero en Vidas Concurrentes lo encontramos todo en español.… Leer artículo completo