#include <stdio.h>
#include <time.h >
#include <stdlib.h>

unsigned int RANDOMMAX = 0x10000;
unsigned int RANDOMA=  (int)&RANDOMMAX;
unsigned int RANDOMB=  (int)&RANDOMA;
unsigned int RANDOMV = (int)&RANDOMB;

unsigned int Rand()
{
 RANDOMA = (RANDOMA * RANDOMA + RANDOMB)   %RANDOMMAX;
 RANDOMB = (RANDOMB++ * RANDOMB + RANDOMA) %RANDOMMAX;
 RANDOMV = (RANDOMA * RANDOMB + RANDOMV)   %RANDOMMAX;
 return RANDOMV;
}

void Srand(unsigned int SEED)
{
 RANDOMA=(((int)Rand+SEED*SEED*SEED)%RANDOMMAX);
 RANDOMB=(((int)Srand+SEED*SEED)%RANDOMMAX);
 RANDOMV = (int)&RANDOMB;
}


int main( void )
{
 Srand( (unsigned)time(NULL) );
 srand( (unsigned)time(NULL) );

// 만든랜덤
 for( int i = 0 ; i< 10 ; i++ )
 {
  printf("Rand : %d\n",Rand() );
 }
 printf("\n");


// 걍랜덤
 for( int i = 0 ; i< 10 ; i++ )
 {
  printf("rand : %d\n",rand() );
 }
 return 0;
}