Возможно, имелся в виду алгоритм случайного разделения квадрата на прямоугольники. ru.stackoverflow.com Один из вариантов такого алгоритма: ru.stackoverflow.com
- На каждом шаге выбирают случайный прямоугольник из имеющегося активного набора (на первом шаге это исходный квадрат) и ставят точку в случайном месте внутри него. ru.stackoverflow.com
- Случайно выбирают направление разделения от данной точки — по горизонтали или по вертикали, делят прямоугольник на два. ru.stackoverflow.com
- Убирают разделённый прямоугольник из активного набора. ru.stackoverflow.com
- Если какой-то из новых прямоугольников имеет размерность 1, кладут его в результат, если нет — в активный набор. ru.stackoverflow.com
Выбирать прямоугольник случайным образом необязательно, можно брать любой удобный — первый или последний. ru.stackoverflow.com
Также есть способ разделить квадрат на три прямоугольника с помощью двух отрезков: uchi.ru
- Нарисовать квадрат на листе бумаги. uchi.ru
- Провести первый отрезок от одной стороны квадрата к противоположной стороне. uchi.ru Этот отрезок должен быть параллелен одной из сторон квадрата. uchi.ru
- Провести второй отрезок от одной из вершин квадрата к противоположной вершине (не через первый отрезок). uchi.ru Этот отрезок также должен быть параллелен одной из сторон квадрата. uchi.ru
- В результате получится два прямоугольника с основанием одна из сторон квадрата и высотой половина стороны квадрата, и третий прямоугольник, который получится в результате пересечения двух отрезков и будет оставшейся частью квадрата. uchi.ru