en caso de querer usar la hora usa los minutos y los segundos para generar el numero
el algoritmo es el de los cuadrados medios un poco modificado por los errores que poseia este en su momento
Código
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> int aleatorio(int semilla); int main() { int semilla=0; //si el valor de semilla es cero usara la hora para obtener numeros aleatorios while(1==1) { semilla=aleatorio(semilla); Sleep(1000); } } int aleatorio(int semilla) { int ContarDigitos,contador,multiplicar; if(semilla==0) { time_t FapTime; struct tm * ptm; semilla=(ptm->tm_min-5)*100+(ptm->tm_sec); } semilla+=1111; semilla=semilla*semilla; contador=0; ContarDigitos=semilla; while(ContarDigitos>0) { ContarDigitos=(int)ContarDigitos/10; contador++; } if(contador<8) { for(multiplicar=contador;multiplicar<8;multiplicar++) { semilla=semilla*10; } } semilla=(semilla/100)%10000; return semilla; }