c++ - How to calculate 24a+36b with the help of funct(a,b) given which do a+b in function implementation? -


i have 1 query ,

i have implemented function func(a,b) return result of a+b , want calculate 24a+36b minimum number of call function

thanks response

there no other operator or shifter available func available

// 12*(2*a + 3*b) 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); 

if can't store intermediate results additional variables, substituted 1 should quite close optimum, although reason can't feel sure is optimal then. (just i'm not 100% sure optimal solution variables, 99% sure)

just fun of it, substituted one, func called 59 times:

return func( func( func( func( 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( func( 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( func( 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 ) ) ) );


Comments