Вводится число N. Затем N пар чисел, являющихся координатами точек на плоскости (все вводимые числа целые). Определить длину ломаной линии, образованной данными точками. Пояснение. Первое введенное число (4) показывает, сколько...

Вводится число N. Затем N пар чисел, являющихся координатами точек на плоскости (все вводимые числа целые). Определить длину ломаной линии, образованной данными точками. Пояснение. Первое введенное число (4) показывает, сколько пар чисел программа будет ждать на ввод. Следующие числа – координаты точек. Расстояние на плоскости между точками (0;0) и (3;4) равно 5, между точками (3;4) и (6;0) также равно 5, а между точками (6;0) и (12;8) равно 10. Общая длина получившейся ломаной линии 5 + 5 + 10 = 20.
Гость
Ответ(ы) на вопрос:
Гость
# Код на ruby 2.2.3p173 def distance(x1, y1, x2, y2)     return ((x1 - x2) ** 2.0 + (y1 - y2) ** 2.0) ** 0.5 end def zadanie(points)     return 0 if points.size < 2     s = 0     for i in 1...points.size         s += distance(points[i-1][0], points[i-1][1], points[i][0], points[i][1])     end     return s end # Примеры применения p zadanie([[1,1]]) p zadanie([[1,1],[2,2]]) p zadanie([[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1]]) p zadanie([[0,1],[2,1],[3,2],[4,1],[5,1],[6,1],[7,2],[8,1],[9,1],[7,2],[8,1],[9,1]])
Не нашли ответ?
Ответить на вопрос
Похожие вопросы