TL; DR
Her üçlünün toplamını, her üçlünün ürününü ve her üçlünün olası tüm kombinasyonlarının ürünlerinin toplamını karşılaştırın.
Nitty Cesur
By cebirin temel teoremi , derece N bir polinomun için, biz N kökleri olması gerekir.
Bu gerçeği kullanarak sıfırlarımızın olmasına izin verdik a1, a2, and a3
. Şimdi, bu polinomun katsayılarını buluyoruz.
(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)
İki polinom eşdeğerse, aynı köklere sahip olmalıdırlar (yine FTA tarafından). Böylece tek yapmamız gereken üretilen polinomların katsayılarını karşılaştırmaktır.
Yani, eğer,
(-1 * (a1 + a2 + a3) == (-1 * (b1 + b2 + b3))
---equivalently---
a1 + a2 + a3 == b1 + b2 + b3
Ve
(a1a2 + a1a3 + a2a3) == (b1b2 + b1b3 + b2b3)
Ve
-1 * a1a2a3 == -1 * b1b2b3
---equivalently---
a1a2a3 == b1b2b3
Sonra üçüzleri sonuçlandırabiliriz a1, a2, a3
ve b1, b2, b3
eşdeğeriz.
Buna değer mi?
Pratik bir bakış açısından, bunun OP tarafından gösterildiği gibi kaba kuvvet kontrolünden gerçekten daha verimli olup olmadığını görelim.
İlk kontrol: Topla ve Karşılaştır. Bunun için toplam 4 ekleme ve 1 eşitlik kontrolü gerekir.
Toplamı kontrol et = 5; Toplam koşu = 5
İkinci kontrol: Ürün, Toplam ve Karşılaştır. Bunun için 6 toplam çarpma, 4 toplam ekleme ve 1 eşitlik kontrolü gerekir.
Toplamı kontrol et = 11; Toplam koşu = 16
Üçüncü kontrol: Ürün ve Karşılaştır. Bu 4 toplam çarpma ve 1 eşitlik kontrolü gerektirir.
Toplamı kontrol et = 5; Toplam koşu = 21
İki mantıksal AND işlemi eklenirken, "oluşturulan polinom yaklaşımının katsayıları" için toplam ikili işlem sayısı yalnızca şunları gerektirir:
23 ikili işlem
Kaba kuvvet kontrolü toplamda 18 toplam eşitlik kontrolü, 12 mantıksal AND karşılaştırması ve 5 mantıksal OR karşılaştırması gerektirir:
35 ikili işlem
Yani, açıkçası , cevap evettir, "üretilen polinom yaklaşımının katsayıları" gerçekten daha verimlidir. @WJS işaret Ancak, kaba kuvvet yaklaşımı çok sayıda fırsat vardır kısa devrelerden ve böylece yürütmek matematiksel bir yaklaşım daha olarak / daha verimli.
Eksiksiz Kapsamlılık İçin
Her üçüzün olası tüm kombinasyonlarının ürün toplamını kontrol etmeyi atlayamayız. Bunu dışarıda bırakırsak, bunun başarısız olduğu sayısız örnek vardır. Düşünün (23, 32, 45)
ve (24, 30, 46)
* :
23 + 32 + 45 = 100
24 + 30 + 46 = 100
23 * 32 * 45 = 33120
24 * 30 * 46 = 33120
Eşdeğer değildirler ancak aynı toplamı ve ürünü verirler. Bununla birlikte, olası tüm kombinasyonların ürünlerinin toplamını vermezler:
23 * 32 + 23 * 45 + 32 * 45 = 3211
24 * 30 + 24 * 46 + 30 * 46 = 3204
* Yukarıdaki örneğe benzer bir örneğin nasıl türetileceğini merak ederse, önce uzunluk 3 tamsayı M'nin tamsayı bölümlerini oluşturun , ürünlerini alın, kopyaları bulun ve bir çift seçin.