Zeichnen Sie Namen von einem virtuellen Hut
Werfen Sie eine Reihe von Namen in den Hut, und lassen Sie alle eine auswählen!
Willkommen Google-Nutzer!
Ich hoffe, dass Sie diese wunderliche Seite genießen. Wenn Sie diesen Spaß oder nützlich (oder nicht) finden, schreiben Sie mir eine Notiz auf Google+ über.
der Algorithmus
Der „virtuelle Hut“ folgt eine bestimmte Reihe von Schritten alle Namen aus dem Hut zu ziehen:- Jede Person zieht wiederum mit der ersten Person in der Liste zu starten.
- Auf einer Person an der Reihe:
- er schüttelt den Hut
- er entfernt einen Namen aus dem Hut
- Wenn jemand seinen eigenen Namen zieht, oder wenn eine „Schleife“ erkannt wird, wird die Auslosung „unfair“ betrachtet und jeder zieht wieder.
Listennummer
Es gibt etwa 21 Billionen Möglichkeiten 17 Namen aus einem Hut zu ziehen (für Sie Mathe-Typen, es ist n-1!). Der „virtuelle Hut“ simuliert schlurfend (schüttelt den Hut Namen zu rühren) unter Verwendung eines Zufallszahlengenerator, der eine andere Art zu sagen, dass jeder Shuffle ein bisschen anders ist, aber sie alle mit einer Start „Listennummer.“
Wenn Sie nur Namen in den Hut werfen, ohne eine Listennummer bereitstellt, wird der virtuelle Hut eine (bis zu 4 Stellen) bilden. Die „Listennummer“ ist, wird über den Ausgang gedruckt.
Die Listennummer kann verwendet werden, um eine Zeichnung zu identifizieren; die gleiche Listennummer wird immer die gleichen Ziehungsergebnisse produzieren. Verschiedene Listennummern werden nicht unterschiedliche Ergebnisse produzieren garantiert, jedoch. Es gibt nur 120 Arten 6 Namen (weit kleiner als der Raum für Liste # verwendet) zu zeichnen.
Ungerechtigkeit
Wenn eine Gruppe von Menschen Namen aus einem Hut ziehen, manchmal die letzten Person, den Hut bekommen muss seinen eigenen Namen ziehen; Dies ist eine unfaire draw. Wenn der „virtuelle Hut“ diesen Zustand erkennt, wird es einfach alle Namen zieht wieder (nach dem Hut schlurfen, um 1 auf die Listennummer hinzufügen).
A ‚Loop‘ tritt auf, wenn eine Untergruppe von Menschen den Namen jedes andere ziehen. Zum Beispiel:- Alice => Bob
- Bob => Carol
- Carol => Alice
- Doug => Edward
- Edward => Frances
- Frances => Doug
Die Gruppe Alice, Bob, Carol schließt nicht den Rest der Teilnehmer.
Wenn dieser Zustand erkannt wird, wird die Auslosung ungültig betrachtet und läuft wieder für die nächsthöhere Listennummer; Der Vorgang wiederholt sich, bis ein Unentschieden gültig ist.
Eine Schleife wird durch das Durchlaufen der Liste erfasst, um - in dem obigen Beispiel Alice -> Bob -> Carol -> Alice. Wenn es uns gelingt, alle Namen zu finden, bevor wir eine Wiederholung finden, dann ist die Auslosung gültig (keine Schleifen). Dies ist eine Variation des „Schildkröte und Hasen“ -Algorithmus für Schleifen in einer verknüpften Liste von unbekannter Größe zu erfassen.