/ / Как да знаете броя на гласоподавателите, където броят на кандидатите е по-голям от броя на слотовете - алгоритъм, език-агностик

Как да узнаем броя на гласоподавателите, където броят на кандидатите е по-голям от броя на слотовете - алгоритъм, език-агностик

Нашата страна неотдавна проведе избирането си и аззапочна да се интересува от намирането на броя на избирателите, гласували за дадена позиция. Решаването на този проблем за един слот (кмет, управител и др.) Е много незначително. Очевидно е, че просто трябва да обобщим гласовете за всеки кандидат, за да получим общия брой избиратели.

number of voters = candidate 1 votes + candidate 2 votes + ... + candidate n votes

Въпреки това, получавате броя на гласоподавателите запозициите с много слотове изглежда не са еднакво лесни. Например, сенаторската позиция има 12 слота с 33 кандидати. Това, което искам да постигна, е да узная броя на гласоподавателите въз основа на текущите гласове за тези 33 кандидати.

Има ли алгоритъм или метод за решаване на този проблем? Имайте предвид, че е напълно добре да имате само диапазона на възможния брой избиратели или други приближения.

ДОПЪЛНИТЕЛНИ 1: Ще приемем, че всеки избирател е гласувал точно 12 кандидати (например за сенатори) (не повече, не по-малко) (благодарение на @ slebetman)

Отговори:

2 за отговор № 1

Изискването, че всеки избирател е гласувал точно 12 пъти, прави това лесно.

  1. Съберете гласовете за всички кандидати. Това ви дава общия брой гласове, излъчени в изборите.
  2. Разделете общия брой гласове с 12, за да получите броя на гласоподавателите.

2 за отговор № 2

РЕДАКТИРАНЕ

  • Ако приемем, че ако гласоподавателят гласува, той гласува само един глас. Тогава простата сума е максимален брой избиратели.
  • Ако приемем, че избирателят има максимум 12 гласа, които трябва да подаде, и всеки избирател подаде 12 гласа, след това сумирането на общия брой гласове и разделянето му на 12 дава минимум брой гласоподаватели. (Както каза Хамар в отговора си.)

Това ви дава възможен диапазон за брой избиратели.

По-рано си мислех, че има няколко позиции и отговарях с този въпрос на ум. Тоест, мислех, че има 12 различни позиции в сенаторна комисия.


СТАР

За всички позиции изчислете общия брой гласоподаватели (Само добавянето на гласовете за всеки кандидат за тази позиция ще даде този номер, както споменахте във въпроса).

Използвайки проста теория на множествата:

  • Максимумът от всички тези избиратели е вашият минимум брой избиратели.

  • Сумата от всички тези избиратели е ваша максимален брой избиратели, ограничени от избирателите.

Това би било много широк диапазон и получаването на приблизителен брой може да не е възможно без други ограничения / информация.