Есть ответ 👍

Нужна реализация функции на php. суть такая, есть массив напр: $ar['310']=0.5; $ar['311']=0.375; $ar['312']=0.1; в массиве может быть как больше так и меньше элементов, необходимо высчитать все различные комбинации сумм элементов, чтобы в результате получилось число 1.5. в данном примере должно получится 0.5+0.5+0.5=1.5 0.5+0.5+0.1+0.1+0.1+0.1+0.1=1.5 0.5+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1=1.5 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0. 1+0.1+0.1=1.5 0.375+0.375+0.375+0.375=1.5 нужно написать функцию, на входе в которую будет передаваться массив значений и число 1.5 (может быть любое другое), а на выходе массив элементов с ключами, которые мы передали вначале. на выходе в общем должно получиться что-то типо такого $arr[0]="310,310,310" $arr[0]="310,310,312,312,312,312,312" $arr[0]="310,312,312,312,312,312,312,312,312, 312 ,312" $arr[0]="312,312,312,312,312,312,312,312,312, 312 ,312,312,312,312,312" $arr[0]="311,311,311,311"

216
359
Посмотреть ответы 2

Ответы на вопрос:


< ? php   $result = array();   $arr = array ('310'=> 0.5, '311'=> 0.375, '312'=> 0.1);       function rec($str) {     $sum = 0;     foreach ($str as $i) #вычисляем уже имеющуюся сумму       $sum += $globals["arr"][$i];     if ($sum == 1.5)       $globals["result"][] = $str;     if ($sum > 1.5) return;     foreach ($globals["arr"] as $key=> $value) {       $hello = $str; #не знаю, насколько это легально, но заработало только       $hello[] = $key;       rec($hello);     }   }       if (min(array_values($arr)) < = 0) die(); #бесконечнная рекурсия должна быть предотвращена   rec(;       foreach ($result as & $value) #переделываем массив массивов в массив строк     $value = implode(', ', $value);   unset($value);       print_r($result); ? >
SMAYLITOP
4,7(75 оценок)

3) Методы передачи информации по каналам связи

Объяснение:

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS