TL; DR
So sánh tổng của từng bộ ba, sản phẩm của mỗi bộ ba và tổng các sản phẩm của tất cả các kết hợp có thể có của mỗi bộ ba.
Gritty Nitty
Theo Định lý cơ bản của Đại số , đối với đa thức bậc N, chúng ta phải có N gốc.
Sử dụng thực tế này, chúng tôi để cho số không của chúng tôi được a1, a2, and a3
. Bây giờ, chúng tôi tìm thấy các hệ số của đa thức này.
(x - a1) * (x - a2) * (x - a3)
(x^2 - (a1 + a2) * x + a1a2) * (x - a3)
x^3 - (a1 + a2) * x^2 + (a1a2) * x - a3 * x^2 + (a1a3 + a2a3) * x - a1a2a3
x^3 + (-1 * (a1 + a2 + a3)) * x^2 + (a1a2 + a1a3 + a2a3) * x + (-1 * a1a2a3)
Nếu hai đa thức là tương đương, chúng phải có cùng một gốc (một lần nữa bởi FTA). Do đó, tất cả những gì chúng ta cần làm là so sánh các hệ số của đa thức được tạo.
Vì vậy nếu,
(-1 * (a1 + a2 + a3) == (-1 * (b1 + b2 + b3))
---equivalently---
a1 + a2 + a3 == b1 + b2 + b3
Và
(a1a2 + a1a3 + a2a3) == (b1b2 + b1b3 + b2b3)
Và
-1 * a1a2a3 == -1 * b1b2b3
---equivalently---
a1a2a3 == b1b2b3
Sau đó, chúng ta có thể kết luận các bộ ba a1, a2, a3
và b1, b2, b3
là tương đương.
Nó có đáng không?
Từ quan điểm thực tế, hãy xem liệu điều này có thực sự hiệu quả hơn việc kiểm tra lực lượng vũ phu như được minh họa bởi OP.
Kiểm tra đầu tiên: Tổng và So sánh. Điều này đòi hỏi 4 tổng cộng và 1 kiểm tra cho sự bình đẳng.
Kiểm tra tổng = 5; Tổng cộng chạy = 5
Kiểm tra thứ hai: Sản phẩm, Tổng và So sánh. Điều này đòi hỏi 6 tổng số nhân, 4 tổng cộng và 1 kiểm tra sự bằng nhau.
Kiểm tra tổng = 11; Tổng cộng chạy = 16
Kiểm tra thứ ba: Sản phẩm và So sánh. Điều này đòi hỏi 4 tổng số nhân và 1 kiểm tra cho đẳng thức.
Kiểm tra tổng = 5; Tổng cộng chạy = 21
Thêm hai phép toán AND logic, tổng số phép toán nhị phân cho "các hệ số của cách tiếp cận đa thức được tạo" chỉ yêu cầu:
23 hoạt động nhị phân
Kiểm tra lực lượng vũ phu yêu cầu 18 kiểm tra tổng đẳng thức, 12 so sánh logic VÀ so sánh và 5 so sánh logic HOẶC cho tổng số:
35 hoạt động nhị phân
Vì vậy, nói đúng ra , câu trả lời là có, "các hệ số của phương pháp đa thức được tạo ra" thực sự hiệu quả hơn. Tuy nhiên, như @WJS chỉ ra, cách tiếp cận lực lượng vũ phu có nhiều cơ hội hơn cho ngắn mạch và do đó thực hiện như / hiệu quả hơn so với phương pháp toán học.
Để hoàn toàn triệt để
Chúng ta không thể bỏ qua việc kiểm tra tổng số sản phẩm của tất cả các kết hợp có thể có của mỗi bộ ba. Nếu chúng ta bỏ qua điều này, có vô số ví dụ về việc này thất bại. Xem xét (23, 32, 45)
và (24, 30, 46)
* :
23 + 32 + 45 = 100
24 + 30 + 46 = 100
23 * 32 * 45 = 33120
24 * 30 * 46 = 33120
Chúng không tương đương nhưng cho cùng một số tiền và sản phẩm. Tuy nhiên, họ không đưa ra cùng một tổng số sản phẩm của tất cả các kết hợp có thể:
23 * 32 + 23 * 45 + 32 * 45 = 3211
24 * 30 + 24 * 46 + 30 * 46 = 3204
* Trong trường hợp người ta tò mò làm thế nào để lấy được một ví dụ tương tự như ở trên, trước tiên hãy tạo tất cả các phân vùng nguyên có số nguyên M có độ dài 3, lấy sản phẩm của họ, tìm các bản sao và chọn một cặp.