Це дещо схоже на Центри трикутника , але з іншою точкою. Точка Ферма - точка Р у трикутнику ABC така, що значення AP + BP + CP мінімізоване. Є два випадки:
Якщо є кут більше 120 градусів, ця вершина є точкою фермату. В іншому випадку намалюйте рівносторонні трикутники на кожній із сторін ABC. З’єднайте далеку вершину кожного рівностороннього трикутника з протилежною вершиною трикутника ABC. Виконання цього для кожного з трьох рівносторонніх трикутників призводить до єдиної загальної точки перетину для всіх трьох прямих, яка є точкою Ферма.
Він повинен працювати протягом 5 секунд на розумній машині.
Введення : Набір з 3 балів, не обов'язково цілих чисел. Це може сприйматися як вкладений масив, рядок, список кортежів тощо (що відповідає вашій мові).
Вихід : Координати точки Ферма, знову ж таки, проте ваша мова найкраще обробляє точки. Неточності з плаваючою точкою не будуть зараховані проти вас.
Випробування :
[[1, 1], [2, 2], [1, 2]] --> [1.2113248654051871, 1.788675134594813]
[[-1, -1], [-2, -1], [0, 0]] --> [-1, -1]
[[-1, -1], [1, -1], [0, 1]] --> [0, -0.42264973081037427]
[[0, 0], [0.5, 0.8660254037844386], [-5, 0]] --> [0, 0]
[[0, 0], [0, -5], [-0.8660254037844386, 0.5]] --> [0, 0]
Це код гольфу, тому найкоротший виграш коду!
-0.0
виводиться замість деяких 0.0
s?