Проверьте, правильно ли я сделала задачу. Pascal.
Найти закопанный пиратами клад просто: все, что для этого нужно — это карта. Как известно, пираты обычно рисуют карты от руки и описывают алгоритм нахождения клада так: “Встаньте около одинокой пальмы. Пройдите тридцать шагов в сторону леса, потом семнадцать шагов в сторону озера, …, наконец десять шагов в сторону большого булыжника. Клад находится под ним”. Большая часть таких указаний просто сводится к прохождению какого-то количества шагов в одном из восьми направлений (1 — север, 2 — северо-восток, 3 — восток, 4 — юго-восток, 5 — юг, 6 — юго-запад, 7 — запад, 8 — северо-запад) (см. рис) . Длина шага в любом направлении равна 1.
Путешествие по такому пути обычно является прекрасным способом посмотреть окрестности, однако в наше время постоянной спешки ни у кого нет времени на это. Поэтому кладоискатели хотят идти напрямую в точку, где зарыт клад. Например, вместо того, чтобы проходить три шага на север, один шаг на восток, один шаг на север, три шага на восток, два шага на юг и один шаг на запад, можно пройти напрямую, использовав около 3.6 шага (см. рис. 1).
Рис. 1
Вам необходимо написать программу, которая по указаниям пиратов определяет точку, где зарыт клад.
Формат входных данных
Первая строка входного файла содержит число N — число указаний (1 <= N <= 40). Последующие N строк содержат сами указания — номер направления (целое число от 1 до и количество шагов (целое число от 1 до 1000). Числа разделены пробелами.
Формат выходных данных
В выходной файл выведите координаты X и Y точки (два вещественных числа, разделенные пробелом) , где зарыт клад, считая, что ось Ox направлена на восток, а ось Oy — на север. В начале кладоискатель должен стоять в начале координат. Координаты необходимо вывести с погрешностью не более 10–3.
program z4;
var N:longint; x,y:real;
begin
writeln('введите количество шагов');
readln(N);
x:=1; y:=1;
for i:=1 to N do begin
x:=x+sqrt(y);
y:=y+sqrt(x);
end;
writeln('x=',x:3:6, 'y=',y:3:6);
readln;
end.