В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
romaantonizin1
romaantonizin1
17.10.2020 00:11 •  Информатика

РЕШИТЬ ЗАДАЧУ ЯЗЫКОМ С++

Задано натуральное. Разработать программу для вычисления заданных сумм. При исчислении сумм использовать рекурсивные функции.

Буду ооочень благодарен!

Показать ответ
Ответ:
sweetmalboro
sweetmalboro
02.08.2022 14:14
Описание алгоритма: задан список А и число 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
0,0(0 оценок)
Ответ:
0mixa0
0mixa0
25.04.2020 18:42
Flash-память представляет собой микросхему, помещенную в миниатюрный плоский корпус. Для считывания или записи информации карта памяти вставляется в специальные накопители, встроенные в мобильные устройства или подключаемые к компьютеру через USB-порт. Информационная емкость карт памяти может достигать 512 Мбайт.К недостаткам flash-памяти следует отнести то, что не существует единого стандарта и различные производители изготавливают несовместимые друг с другом по размерам и электрическим параметрам карты памяти.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота