Es ist sicherlich.
Zuerst lassen Sie uns daran erinnern, dass die n-te Fibonacci-Zahl ist gleich
φ (n) = [φ^n - (-φ)^(- n)]/√5
wo φ = (√ 5 + 1)/2 (Goldenes Verhältnis) und (-φ)^(- 1) = (1 - √5)/2. Aber um das kürzer zu machen, lassen Sie mich φ als A und (-φ)^(- 1) als B bezeichnen. Als nächstes bemerken wir, dass eine Summe von Fibonacci-Zahlen eine Summe von Potenzen von A und B ist:
[φ (n) + φ (m)] * √5 = A^n + m A^-^B n - B^m
Nun, was zu calc genug ist (in dem {1,2,3}
Beispiel)
A^1 + A^2 + A^3 + A^{1 + 2} + A^{1 + 3} + A^{2 + 3} + A^{1 + 2 + 3}.
Aber hey, es ist ein einfacher Ausdruck dafür:
(A^1 + 1) (A^2 + 1) (A^3 + 1) - 1
Jetzt ist es an der Zeit um das ganze Ergebnis zu bekommen.
Lassen Sie unser Set {n1, n2, ..., nk}
sein. Dann ist unsere Summe gleich sein wird
Sum = 1/√5 * [(A^n1 + 1)(A^n2 + 1)...(A^nk + 1) - (B^n1 + 1)(B^n2 + 1)...(B^nk + 1)]
denke ich, mathematisch, das ist die „einfachste“ Form der Antwort, da es keine Beziehung zwischen n_i ist. Es könnte jedoch Spielraum für eine rechnerische Optimierung dieses Ausdrucks geben. In der Tat bin ich überhaupt nicht sicher, ob dies (mit reellen Zahlen) schneller funktioniert als die "einfache" Summierung, aber die Frage war, die Erzeugung von Teilmengen zu vermeiden, also hier ist die Antwort.
Betrachten Sie nicht die leere Menge eine Teilmenge? – Joni
@Joni Nein ........ –
Nette Frage !! – Mike