Количество максимально возможных различных прямоугольников с заданным периметром

Опубликовано: 19 Сентября, 2022

Дано целое число N , обозначающее периметр прямоугольника. Задача состоит в том, чтобы найти возможное количество различных прямоугольников с заданным периметром.

Примеры

Input: N = 10
Output: 4
Explanation: All the rectangles with perimeter 10 are following in the form of (length, breadth):
(1, 4), (4, 1), (2, 3), (3, 2)

Input: N = 8
Output: 3

Подход: Эту проблему можно решить, используя свойства прямоугольников. Выполните следующие шаги, чтобы решить данную проблему.

  • Периметр прямоугольника равен 2*(длина + ширина) .
  • Если N нечетно , то прямоугольник невозможен. Поскольку периметр никогда не может быть нечетным .
  • Если N меньше 4 , то также не может быть никакого прямоугольника. Поскольку минимально возможная длина стороны равна 1 , даже если длина всех сторон равна 1 , периметр также будет равен 4 .
  • Теперь N = 2*(l + b) и (l + b) = N/2 .
  • Итак, требуется найти все пары, сумма которых равна N/2 , то есть (N/2) – 1 .

Ниже приведена реализация описанного выше подхода.

Временная сложность: O(1)
Вспомогательное пространство: O(1)