int GetRand(int inKey)
{
srand(inKey);
return rand();
}

・再現性がある。前回GetRand(5/*key*/) = 123だったときは、
次もGetRand(5) = 123である必要がある。
・乱数の周期がそれなりに長い。
この2つが重なるのが全然意味わかんないんだけど。乱数なめてるだろ?