1. Главная
  2. Библиотека
  3. Высшая математика
  4. Задача C4-4. Голоса животных. Има Сумак Има Сумак имела...
Решение задачи на тему

Задача C4-4. Голоса животных. Има Сумак Има Сумак имела потрясающие голосовые данные! Она могла легко переходить с одной ноты на другую. Диапазон ее голоса составлял 4,5 октавы. Роболис не может сгенерировать столько нот, сколько могла взять Има Сумак, у

  • Высшая математика
  • #Теория вероятностей и математическая статистика
  • #Дискретная математика
Задача C4-4. Голоса животных. Има Сумак Има Сумак имела потрясающие голосовые данные! Она могла легко переходить с одной ноты на другую. Диапазон ее голоса составлял 4,5 октавы. Роболис не может сгенерировать столько нот, сколько могла взять Има Сумак, у

Условие:

Задача C4-4. Голоса животных. Има Сумак
Има Сумак имела потрясающие голосовые данные! Она могла легко переходить с одной ноты на другую. Диапазон ее голоса составлял 4,5 октавы. Роболис не может сгенерировать столько нот, сколько могла взять Има Сумак, у него только 44 ноты!
Роболис сгенерировал программу «Има Сумак», которая составляет мелодии. Все ноты, которые может воспроизвести написанная им программа, он пронумеровал от 1 до 44.
Программа может переходить от какой-то ноты к ноте, номер которой больше на 1, больше на 2 или больше в 2 раза, чем номер текущей ноты.
Роболису очень нравится нота No13. Поэтому он хочет сгенерировать все возможные мелодии, в которых программа “Има Сумак” будет переходить от ноты 1 к ноте 44 (по указанным правилам: можно переходить к ноте с номером на 1 больше, на 2 больше или в 2 раза больше), причем мелодия обязательно будет содержать ноту 13.
Сколько разных мелодий такого вида может создать программа «Има Сумак»?
В ответе укажите только число.

Решение:

Для решения задачи, давайте разобьем её на несколько шагов:

  1. Определим правила переходов: Мы можем переходить от ноты n к:
  • n + 1
  • n + 2
  • 2 * n
  1. Найдем все возможные пути от ноты 1 до ноты 44, которые проходят через ноту 13. Для этого мы можем использовать динамическое программирование.

  2. Создадим массив ways, где ways[i] будет хранить количество способов добраться до ноты i. Изначально ways[1] = 1, так как есть только один способ начать с ноты 1.

  3. Заполним массив ways для всех нот от 1 до 44:

  • Для каждой ноты i от 1 до 43 (так как мы будем переходить к i + 1 и i + 2):

  • Ес...

  • Заполним массив :

  • Общее количество мелодий:

Таким образом, ответ на задачу:

2558518

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет