Исполнитель Черепаха передвигается по плоскости и оставляет след в виде линии. Черепаха может выполнять три команды:
В начальный момент Черепаха находится в начале координат и направлена вверх (вдоль положительного направления оси ординат).
Запись
Черепаха выполнила следующую программу (x в тексте программы — некоторое натуральное число):
Повтори 4 [Вперёд x Направо 90 Вперёд x Налево 90 Вперёд x Направо 90].
Определите, при каком наименьшем натуральном x количество точек с целочисленными координатами внутри области, ограниченной линией, полученной при выполнении данной программы, окажется
Нарисуем при помощи Python искомую картинку для некоторых значений x и попробуем вывести формулу для нахождения искомого количества точек:
import turtle as t
t.left(90)
t.speed(1000)
k = 10
x = 2
t.down()
for i in range(4):
t.forward(x * k)
t.right(90)
t.forward(x * k)
t.left(90)
t.forward(x * k)
t.right(90)
t.up()
for i in range(0, 3 * x + 1):
for y in range(-x, 2 * x + 1):
t.goto(i * k, y * k)
t.dot()
Для x = 2 искомых
При помощи python найдем минимальное значение, при котором выведенная формула даёт число,
for x in range(1, 100):
if (3 * x + 1) ** 2 - ((x + 1) ** 2) * 4 - 4 * (x - 1) >= 1500:
print(x)
break
Программа должна вывести
Ответ: 18.
Приведём программу Сергея Донец на PascalABC.NET:
uses turtle;
begin
{расчёт по формуле. когда d больше 1500 вывести х}
for var x:=1 to 1500 do begin
var d:= (x-1)*(5*x-1);
if d>1500 then begin
down;Print(x);//18
{крест толщина и высота палки от центра до края = х}
loop 4 do begin
Forw(x); TurnRight(90);
Forw(x); TurnLeft(90);
Forw(x); TurnRight(90);
end;exit;
end;//конец if
end;//конец for
end.

