/ it Задачи / Нахождение средней зарплаты

Нахождение средней зарплаты

Нахождение средней зарплаты

1 878 · 16 сентября 2017 в 16:26 ·
В основе задачи лежит нахождение средней заработной платы у 3-х сотрудников, при условии, что между ними запрет на передачу требуемой информации.
Ситуация следующая, 3 работника хотят узнать среднюю заработную плату, каждый из них знает только собственный оклад и не хочет сообщать сумму другому человеку. По сути обмен информацией возможен, но конкретную сумму или информацию с явно выраженным указанием оклада говорить нельзя. Сообщения могут содержать косвенную информацию об окладе, с помощью которой нельзя определить сумму.

Решение

Мы предполагаем, что заработная плата каждого человека находится в числовом диапазоне от 0 до 1 000 000 000. Рассматривать ситуацию, когда доход одного из участников превышает 1 млрд условных единиц нет смысла, так как он не захочет делиться информацией и вовсе заниматься вычислениями.

Первый из сотрудников должен выбрать произвольное число из указанного интервала и передать эту цифру другому человеку – смыслового содержания сообщение не несёт. Второй человек, который получил сообщение, должен прибавить к числу сумму своей зарплаты и сказать результат третьему. Для последнего человека информация не содержит смысла и является случайной. Третий сотрудник должен добавить к числу свою заработную плату и вернуть значение первому. Первоначальный сотрудник должен вычесть из полученной суммы число, что он наугад взял и передал второму. Результат – это заработная плата 2-х участников, теперь нужно добавить собственный оклад и разделить на 3. Теперь мы узнали средний показатель заработной платы.

Больше интересных новостей