Не увидела связи между прямоугольником и рассматриваемым. потому решение может не очень красивое.
Заметим, что есть узловая точка , которая делит прямоугольник на два (по диагонали), в которых количества пересекаемых квадратиков равны и потому можно посчитать только в одном из них.
Рассмотрим две горизонтальные прямые и диагональ. Внутри они образуют прямоугольный треугольник, один из катетов которого (горизонтальный) равен . Ну а тогда второй равен
, а потому количество пересекаемых квадратов в каждой из горизонталей либо
, либо
. Поймем, когда их три.
Три квадратика образуются тогда и только тогда, когда точки пересечения соседних вертикалей находятся между соседними горизонталями. Для этого требуется, чтобы точка (
-- номер вертикали) достаточно далеко находилась от ближайшего целого, то есть дробная часть
, что равносильно тому, что
, поскольку иначе число
дает остаток, не меньший
. Но
, а потому единственными решениями будут
, то есть крайние вертикали, что не подходит. Значит, во всех горизонталях задеваются ровно два квадрата, а значит всего
.
В кулаке все пальцы равны.