JAVA Задачи. #21. Bonuses

85 Просмотры
Издатель
Джон хочет дать трем своим сотрудникам общую премию в размере 851 доллар, насколько это возможно, учитывая их количество дней отсутствия в течение рассматриваемого периода. Сотрудник A отсутствовал 18 дней, B 15 дней и C 12 дней.

Чем больше пропусков, тем меньше бонус ...

Сколько должен получать каждый сотрудник? Джон считает, что A должен получить 230 долларов, B - 276 долларов, C - 345 долларов, поскольку 230 * 18 = 276 * 15 = 345 * 12 и 230 + 276 + 345 = 851.
Задача:

Учитывая массив arr (количество дней отсутствия для каждого сотрудника) и число s (общий бонус), функция Bonus (arr, s) будет следовать по пути Джона и вернет массив справедливых бонусов всех сотрудников в том же порядке, что и количество дней отсутствия.

s и все элементы arr - положительные целые числа.
Примеры:
bonus([18, 15, 12], 851) = [230, 276, 345]

bonus([30, 27, 8, 14, 7], 34067) = [2772, 3080, 10395, 5940, 11880]

Ссылка на задачу: https://www.codewars.com/kata/5d68d05e7a60ba002b0053f6/train/java

Оригинал:

Task:

John wants to give a total bonus of $851 to his three employees taking fairly as possible into account their number of days of absence during the period under consideration. Employee A was absent 18 days, B 15 days, and C 12 days.

The more absences, the lower the bonus ...

How much should each employee receive? John thinks A should receive $230, B $276, C $345 since 230 * 18 = 276 * 15 = 345 * 12 and 230 + 276 + 345 = 851.
Task:

Given an array arr (numbers of days of absence for each employee) and a number s (total bonus) the function bonus(arr, s) will follow John's way and return an array of the fair bonuses of all employees in the same order as their numbers of days of absences.

s and all elements of arr are positive integers.
Категория
Язык программирования Java
Комментариев нет.