profile
Размещено 4 года назад по предмету Информатика от Juliaaaaaa6

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

  1. Ответ на вопрос
    Ответ на вопрос дан StSerg
    описание алгоритма: задан список А и число 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
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.