Điều này hơi giống với Trung tâm của một hình tam giác , nhưng với một điểm khác. Điểm Fermat là điểm P trong tam giác ABC sao cho giá trị của AP + BP + CP được giảm thiểu. Có hai trường hợp:
Nếu có một góc lớn hơn 120 độ, thì đỉnh đó là điểm fermat. Mặt khác, vẽ các tam giác đều trên mỗi cạnh của ABC. Nối đỉnh xa của mỗi tam giác đều với đỉnh đối diện của tam giác ABC. Làm điều này cho mỗi trong ba hình tam giác đều cho kết quả là một điểm giao nhau chung cho cả ba đường, đó là Điểm Fermat.
Nó sẽ chạy trong vòng 5 giây trên một máy hợp lý.
Đầu vào : Một bộ gồm 3 điểm, không nhất thiết phải là số nguyên. Điều này có thể được coi là một mảng lồng nhau, chuỗi, danh sách các bộ dữ liệu, vv (bất cứ điều gì phù hợp với ngôn ngữ của bạn).
Đầu ra : Một lần nữa tọa độ của điểm Fermat, tuy nhiên ngôn ngữ của bạn xử lý tốt nhất các điểm. Không chính xác điểm nổi sẽ không được tính vào bạn.
Các trường hợp thử nghiệm :
[[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]
Đây là mã golf nên mã ngắn nhất sẽ thắng!
-0.0
đầu ra thay cho một số 0.0
s?