Вопрос по массивам - php

Д7
На сайте с 16.11.2016
Offline
10
820

Доброго всем времени суток.

Начал изучать PHP и столкнулся с одним вопросом.

Вкратце...

есть массив:

$test = array(1, 2, 3, 4, 5, 6, 7, 8, 9);

и есть переменная:

$n = 6;

Нужно из этого массива найти минимальные числа, сумма которых не будет больше $n.

orphelin
На сайте с 02.07.2006
Offline
261
#1

сортируем массив по возрастанию,

складываем числа по порядку, проверяем сумму на >$n

Д7
На сайте с 16.11.2016
Offline
10
#2
orphelin:
сортируем массив по возрастанию,
складываем числа по порядку, проверяем сумму на >$n

Спасибо за идею!

Но как мне сложить числа по порядку и проверить на условие >$n

lutskboy
На сайте с 22.11.2013
Offline
192
#3
S
На сайте с 13.10.2014
Offline
171
#4

тут в чем дело, самый простой вариант решения /в лоб/, это именно сортировка пузырьком

но у нас ведь php, поэтому можно поступить так


$test = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$n = 6;

$elements = array();
foreach ($test as $item){
$elements[] = $item;
if (array_sum ($elements) >= $n ) break;
}

var_dump ($elements);
Д7
На сайте с 16.11.2016
Offline
10
#5

Спасибо большое.

Сразу и не догадался, что можно просто так /в лоб/ решить. Есть чему учиться

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий