// do the 12*(2*a + 3*b) as per Thomas Matthews comment
ab = func(a,b);
a2b2 = func(ab,ab);
a2b3 = func(a2b2,b);
k2_a2b3 = func(a2b3,a2b3);
k4_a2b3 = func(k2_a2b3,k2_a2b3);
k8_a2b3 = func(k4_a2b3,k4_a2b3);
r = func(k8_a2b3,k4_a2b3);
Wenn Sie nicht die Zwischenergebnisse in zusätzliche Variablen speichern kann, sollte die substituierte ein, um eine optimale ganz in der Nähe sein, obwohl ich aus irgendeinem Grund nicht sicher fühlen kann, dass es dann optimal ist. (So wie ich bin nicht 100% sicher, dass diese optimale Lösung mit Variablen ist, nur 99% sicher)
Gerade für den Spaß von ihm, die substituierten ein, func
59 mal aufgerufen:
Rückkehr func (funk (funktion (funktion (a, b), funktion (a, b)), b), funktion (funktion (funktion (a, b), funktion (a, b)), b)), func (func (func (a, b), func (a, b)), b), func (func (func (a, b), func (a, b)), b))), func (func (func (func (a, b), func (a, b)), b), func (func (func (a, b), func (a, b)), b)), func (Funk (Funk (a, b), Funk (a, b)), b), Funk (Funk (Funk (a, b), Funk (a, b)), b)))), Funk (func (func (func (a, b), func (a, b)), b), func (func (func (a, b), func (a, b)), b)), func (func (func (fu nc (a, b), Funktion (a, b)), b), Funktion (Funktion (Funktion (a, b), Funktion (a, b)), b))));
Es ist unklar, was Sie wollen. Aber: 'func (24 * a, 36 * b)' scheint das zu lösen. –
Warum benötigen Sie eine Funktion, um zwei Zahlen hinzuzufügen? 'result = 24 * a + 36 * b;' –
Sie können den Ausdruck vereinfachen: '12 * ((2 * a) + (3 * b))'. –