Раздать имена в Тайном Санте — задача на пять строк: перемешал список, проверил, что никто не достался сам себе, готово. Я так и думал, пока не посчитал. При таком способе почти в четырёх играх из десяти найдутся двое, которые дарят друг другу, и это не баг реализации, а свойство случайных перестановок.
Я делаю сервис для Тайного Санты (My Santa), и жеребьёвка в нём — те самые пять строк, которые разрослись до ста тридцати. Ниже — почему разрослись, как устроены и какой перекос я нашёл в собственном коде, пока готовил цифры для этой статьи.
Три способа, которыми это делают обычно
Шляпа.Читать полностью »

