Условие
Compute the Euclidean distance between (x1, y1) and (x2, y2): the square root of (x2 − x1)² + (y2 − y1)².
Implement distance(x1, y1, x2, y2).
Input
x1: First point x. y1: First point y. x2: Second point x. y2: Second point y.
Output
Return the distance.
Ограничения
-1,000,000 ≤ each coordinate ≤ 1,000,000
Примеры
Ввод:
x1 = 0.0
x2 = 3.0
y1 = 0.0
y2 = 4.0
Ожидаемый вывод:
expected = 5.0
Ввод:
double x1 = 0.0;
double x2 = 3.0;
double y1 = 0.0;
double y2 = 4.0;
Ожидаемый вывод:
double expected = 5.0;
Ввод:
double x1 = 0.0;
double x2 = 3.0;
double y1 = 0.0;
double y2 = 4.0;
Ожидаемый вывод:
double expected = 5.0;
Пояснение
√(3² + 4²) = √25 = 5.
Ввод:
x1 = 1.0
x2 = 1.0
y1 = 1.0
y2 = 1.0
Ожидаемый вывод:
expected = 0.0
Ввод:
double x1 = 1.0;
double x2 = 1.0;
double y1 = 1.0;
double y2 = 1.0;
Ожидаемый вывод:
double expected = 0.0;
Ввод:
double x1 = 1.0;
double x2 = 1.0;
double y1 = 1.0;
double y2 = 1.0;
Ожидаемый вывод:
double expected = 0.0;
Пояснение
Both points are the same, so the distance is 0.
Как подступиться
Сначала попробуйте сами, затем открывайте подсказки по одной.
Подсказка 1
Вычисли разницу по горизонтали и по вертикали между двумя точками.
Подсказка 2
Возведи обе разницы в квадрат, сложи их и возьми квадратный корень от суммы.
Подсказка 3
Отрицательные координаты не мешают — формула расстояния работает так же.
Ожидаемая сложность
время O(1), доп. память O(1)
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.