Треки
/
Erlang
Erlang
/
Вправи
/
Найбільший добуток у послідовності
Найбільший добуток у послідовності

Найбільший добуток у послідовності

Середня

Вступ

Ми працюємо в державній установі, яка перехопила серію зашифрованих сигналів звʼязку від групи банківських грабіжників. Сигнали містять довгу послідовність цифр. Нашій команді потрібно застосувати різні методи цифрового оброблення сигналів, щоб проаналізувати ці сигнали і виявити закономірності, які можуть указувати на підготовку пограбування.

Вказівки

Наше завдання - шукати закономірності в довгій послідовності цифр зашифрованого сигналу.

Техніка, яку ми тут застосуємо, називається найбільшим добутком серії.

Спершу визначмо кілька термінів.

  • вхідні дані: послідовність цифр, яку потрібно проаналізувати
  • серія: послідовність сусідніх цифр (тих, що стоять поруч одна з одною), яка міститься у вхідних даних
  • довжина: скільки цифр має кожна серія
  • добуток: те, що ми отримуємо, коли перемножуємо числа

Розгляньмо приклад із вхідними даними "63915".

  • Щоб утворити серію, беремо сусідні цифри з початкових вхідних даних.
  • Якщо ми працюємо з довжиною 3, можливих серій буде три:
    • "639"
    • "391"
    • "915"
  • Далі потрібно обчислити добуток кожної серії:
    • Добуток серії "639" дорівнює 162 (6 × 3 × 9 = 162)
    • Добуток серії "391" дорівнює 27 (3 × 9 × 1 = 27)
    • Добуток серії "915" дорівнює 45 (9 × 1 × 5 = 45)
  • 162 більше і за 27, і за 45, тож найбільший добуток серії для "63915" дає серія "639". Отже, відповідь - 162.
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Erlang Exercism

Час розпочати Найбільший добуток у послідовності?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Erlang, а також 85 вправ та справжнє наставництво від людей, і все це безкоштовно.