У меня не возникает вопрос, если вам нужны случайные числа, почему оно должно быть точно 50/50, что является наиболее похожим результатом. Однако вы никогда не сможете гарантировать, что это будет 50/50, потому что это противоречило бы идее случайности.
Просто создайте и заполните массив 50/50 каждого и перемешайте его с помощью какого-нибудь причудливого алгоритма, также имейте в виду, что реализация случайности не случайна для большинства языков программирования.