6. Определение результатов работы алгоритма: #291627
Исполнитель Цапля действует на плоскости с декартовой системой координат.
Цапле был дан для исполнения следующий алгоритм:
Направо 180 Вперёд 2 Направо 90 Вперёд 40 Направо 90 Вперёд 2 Повтори 4 [Дуга 5, 5, 0, 180].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Вначале Цапля находится в точке $(0;0)$ и направлена вверх.
После выполнения первых команд она перемещается следующим образом: $(0;0)\rightarrow(0;-2)\rightarrow(-40;-2)\rightarrow(-40;0)$.
Далее четыре раза выполняется команда Дуга 5, 5, 0, 180. Каждая команда строит верхнюю полуокружность радиуса $5$. Центры полуокружностей находятся в точках $(-35;0)$, $(-25;0)$, $(-15;0)$, $(-5;0)$.
Полученная область ограничена снизу отрезком $y=-2$, а сверху — четырьмя полуокружностями радиуса $5$.
Сначала посчитаем точки с координатой $y=-1$. Координата $x$ может принимать целые значения от $-39$ до $-1$: $-1-(-39)+1=39$ точек.
Теперь посчитаем точки с $y\geq0$, находящиеся под одной полуокружностью. Рассмотрим расстояние $d$ от целочисленной точки до абсциссы центра полуокружности:
- при $d=0$ высота равна $5$, поэтому подходят $5$ значений $y$: от $0$ до $4$;
- при $d=1$ высота равна $\sqrt{24}$, поэтому для двух значений $x$ получаем $2\cdot5=10$ точек;
- при $d=2$ высота равна $\sqrt{21}$, поэтому получаем $2\cdot5=10$ точек;
- при $d=3$ высота равна $4$, но точки на дуге не учитываются, поэтому получаем $2\cdot4=8$ точек;
- при $d=4$ высота равна $3$, поэтому получаем $2\cdot3=6$ точек.
Под одной полуокружностью находится $5+10+10+8+6=39$ целочисленных точек с $y\geq0$.
Всего полуокружностей четыре: $4\cdot39=156$.
Общее количество точек внутри области: $156+39=195$.