Вопрос:

Кейс-задача № 4. Известно, что у дракона может быть несколько голов и его сила определяется числом голов. Но как определить силу драконьей стаи, в которой несколько драконов и у каждого из них определенное число голов? Вероятно, вы считаете, что это значение вычисляется как сумма всех голов? Это далеко не так, иначе было бы слишком просто вычислить силу драконьей стаи. Оказывается, что искомое значение равно произведению значений числа голов каждого из драконов. Например, если в стае 3 дракона, у которых 3, 4 и 5 голов соответственно, то сила равна 3*4*5 = 60. Предположим, что нам известно суммарное значение голов драконьей стаи, как нам вычислить максимально возможное значение силы этого логова драконов? Именно эту задачу Вам и предстоит решить. Максимум у одного дракона 7 голов. Входные данные: Записано натуральное число №. (0<N<100) — количество голов драконьей стаи. Выходные данные: Нужно вывести максимально возможное значение силы, которая может быть у стаи драконов из № голов.

Смотреть решения всех заданий с листа

Ответ:

Для решения задачи необходимо разложить число N на слагаемые, при этом нужно учитывать, что максимальное число голов у одного дракона - 7. Для получения максимального произведения нужно, чтобы числа были как можно ближе друг к другу. Числа 2 и 3 в произведении дают в сумме 5, но 2*3>5. Также, если в разложении есть 1, то её нужно объединить с другим числом, так как это уменьшит итоговое произведение. При разложении числа N на слагаемые используем только числа 2 и 3, так как они дают максимальное произведение. Но так как максимум у одного дракона 7 голов, то необходимо использовать числа в диапазоне от 2 до 7 для получения максимального значения.

Разложим число N на слагаемые и найдем максимальное возможное значение силы:

Обозначим N - количество голов драконьей стаи.

Рассмотрим пример для N = 7:

  1. Представим число 7 как сумму слагаемых: 7 = 3 + 4.
  2. Найдем произведение этих чисел: 3 * 4 = 12.

Рассмотрим пример для N = 8:

  1. Представим число 8 как сумму слагаемых: 8 = 2 + 3 + 3.
  2. Найдем произведение этих чисел: 2 * 3 * 3 = 18.

Рассмотрим пример для N = 9:

  1. Представим число 9 как сумму слагаемых: 9 = 3 + 3 + 3.
  2. Найдем произведение этих чисел: 3 * 3 * 3 = 27.

Рассмотрим пример для N = 10:

  1. Представим число 10 как сумму слагаемых: 10 = 2 + 2 + 3 + 3.
  2. Найдем произведение этих чисел: 2 * 2 * 3 * 3 = 36.

Рассмотрим пример для N = 11:

  1. Представим число 11 как сумму слагаемых: 11 = 2 + 3 + 3 + 3.
  2. Найдем произведение этих чисел: 2 * 3 * 3 * 3 = 54.

Рассмотрим пример для N = 12:

  1. Представим число 12 как сумму слагаемых: 12 = 3 + 3 + 3 + 3.
  2. Найдем произведение этих чисел: 3 * 3 * 3 * 3 = 81.

Алгоритм:

  1. Если N делится на 3, то разбиваем N на слагаемые, равные 3, и возвращаем 3^(N/3).
  2. Если N % 3 == 1, то разбиваем N на слагаемые, где все слагаемые, кроме одного, равны 3, а одно равно 4. Возвращаем 3^((N-4)/3) * 4.
  3. Если N % 3 == 2, то разбиваем N на слагаемые, где все слагаемые, кроме одного, равны 3, а одно равно 2. Возвращаем 3^((N-2)/3) * 2.
  4. Если N = 1, возвращаем 1.
  5. Если N = 2, возвращаем 2.
  6. Если N = 3, возвращаем 3.

В общем случае, оптимально раскладывать число N на сумму троек и, возможно, одной двойки или четверки, если это остаток от деления на 3. При этом надо учитывать, что максимум у одного дракона 7 голов. Если какое-то из полученных слагаемых больше 7, необходимо разложить его на меньшие числа.

Если N < 7, то можно считать, что стая состоит из одного дракона с N головами, и сила равна N.

Окончательный алгоритм:

  1. Если N <= 7, вернуть N.
  2. Иначе:
    1. Если N делится на 3, то разложить на тройки и вернуть 3^(N/3).
    2. Если N дает остаток 1 при делении на 3, то разложить на тройки и одну четверку (если N>=4). Иначе вернуть N (если N=1, 4).
    3. Если N дает остаток 2 при делении на 3, то разложить на тройки и одну двойку (если N>=2). Иначе вернуть N (если N=2).

Ответ: Необходимо реализовать описанный алгоритм.

ГДЗ по фото 📸
Подать жалобу Правообладателю