Есть ответ 👍

Даны цело численный массив а [1: n] и число м. найти множество элементов а [i1], а [i2], а [ik] (1< i1 < < ik < n), что а [i1] + а [i2] + а [ik] = м.

207
320
Посмотреть ответы 2

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


Описание  алгоритма:   задан  список  а и число m, n  =  len(a). для того чтобы найти все возможные варианты выборки из а необходимо построить множество двоичных чисел от 1 до 2^n-1  и  складывать  только  те  индексы разряд которого которого в  двоичном  числе  равен  1,  т.е.  для  двоичного  числа  1100 это  будут  индексы  2  и 3. если  сумма  будет  равна  м  вывести  последовательность  индексов,  иначе  идем  далее язык python a=[21,4,5,4,32]  #  массива  а m  =  9                       #  м for  i  in  range(1, 2**len(a)-1): # для  всех i  от  1  до  2^n-1   ind  =  []                                                        #  список  индексов  используемых  в  данной  итерации     cnt  =  0                                                        #  сумма  элементов  а     for  j  in  range(len(a)):                     #  для  всех  j от  0  до  n         if  i& 2**j:                                                     # если  индекс  есть  в  бинарной  записи i,  то             cnt  += a[j]                                      # прибавить  к  сумме  a[j]             ind.append(str(j))                               # запомнить  индекс             if  cnt  >   m:   break                      # если  сумма  больше m  выходим  из  цикла   if  cnt  ==  m:                                             # если  сумма  равна  m         print  ', '.join(ind)                            # печатаем  список  эффективных  индексов для  данной  программы  будет  выдано  две  строки 1,2 2,3

4

Объяснение:

с учётом того, что каждое из четырёх чисел в IP-адресе не должно превышать  255 .

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

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS