Losowanie liczb bez użycia Random

0

Tym razem taki sobie luźny temat, dla obudzenia.
Piszemy przykłady losowania liczb, ale bez użycia funkcji Random, Rand czy jakichś takich "gotowych" funkcji.
Mój przykład:

Function Losuj(Max: Integer): Integer;
Begin
 Result := GetTickCount Mod (Max+1);
End;

Język dowolny.
A ja dodam tylko, cd.mojego kodu:

Zalety
Łatwa implementacja
Wady
Przy użyciu pętli będzie cały czas ta sama liczba :P

A wy jakie macie pomysły (już bez użycia GetTickCount :D ).

0
int rand() {
    int i, *p = new int;
    i = p;
    delete p;
    return i;
}
int seed = /* dowolna 4 cyfrowa liczba */;
int rand() {
    return (seed = ((seed*seed)/100)%1000);
}
0
int rand() {
  return 5;
}

;)
0
public class Rand {
	long x = System.currentTimeMillis();
	public long randomLong() {
		  x ^= (x << 21);
		  x ^= (x >>> 35);
		  x ^= (x << 4);
		  return x;
	}
}

tam.. w tyn delphi czy czym to piszesz... x może być static, czy jakoś tak...

ewentualnie...

public long randomLong()
{
     return kobieta.getNastrój();
}
0

http://en.wikipedia.org/wiki/Pentium_FDIV_bug
Intel miał generator liczb pseudolosowych już od dawna :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1