Добавление значений массива N раз для достижения цели - PullRequest
0 голосов
/ 30 ноября 2018
  1. У меня есть целевой номер (максимальная вместимость более одной классной комнаты)
  2. Массив идентификаторов отделов.$depts = array(1,2,3);
  3. Функция, которая возвращает общее количество студентов, проходящих определенный курс на кафедре.

    function noStudentsTakingCourse ($dept_id){ //Some expressions.. return $student_count; }

  4. Массив вместимости доступных комнат, т. Е. Вместимость свободных комнат класса $available_room_capacities = array(50, 75, 40, 36, 100, 250);

Что я хочу: Из идентификаторов отделов я хочу, чтобы каждая доступная комната классабыть назначенным на факультет, в котором количество студентов, занимающих его на факультете, больше или равно вместимости комнаты.

Я не знаю, поймете ли вы меня, но я довольно новичок в программировании, и я 'мы потратили дни, пытаясь получить это без какого-либо успеха.

$total_no_of_students_taking_course = 223;
$dept_ids_taking_course = array(1, 2, 3);
$available_room_capacities = array(50, 70, 35, 59, 95, 100);

function noOfStudentsTakingCourse($dept_id)
{
$r = 0;
if ($dept_id == 1) {
    $r = 100;
} elseif ($dept_id == 2) {
    $r = 56;
} elseif ($dept_id == 3) {
    $r == 67;
}

return $r;
}

Вот что я смог придумать.все, что он делает, - это произвольно суммирует значения из массива class_room до тех пор, пока они не превысят общее число студентов, проходящих курс.Но в большинстве случаев это сумма более 5 значений, когда здесь только 3 отдела. Мне нужен случай, когда: - Отделу 1 (вместимостью 100 человек) будет выделена комната, равная 100, - Отделу 2 (семкость 56) будет выделена комната больше или равна 56 и т. д.

Это означает, что конечный массив будет иметь длину 3, а его сумма будет не менее 223 (в соответствии с кодом выше)

СПАСИБО ЗА ПРЕДЕЛА

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...