Как забрать ровно * половину элемента списка с эквити **?
(*) Половина равна n / 2, достаточно int.
Количество пунктов в списке больше 10 ^ 9. Таким образом, n / 2-1 недостаточно близко к n, чтобы быть заметным приближением.
(**) Принцип равноправия и справедливости означает, что все элементы списка имеют одинаковую вероятность выбора.
У меня был такой инструмент выбора акций:
myList.Where(i => rand.NextDouble() >= 0.5);
но с этим у меня может быть больше / меньше половины, с небольшой вероятностью все / ни одна из них.
Отказ от ответственности: это не домашняя работа, а отражение и моделирование случайного выбора Таноса. Возможность собрать половину каждой популяции справедливо.