The most naive way of computing n15 requires fourteen multiplications:
n n
...
n = n15
But using a "binary" method you can compute it in six multiplications:
n n = n2
n2n2 = n4
n4n4 = n8
n8n4 = n12
n12n2 = n14
n14n = n15
However it is yet possible to compute it in only five multiplications:
n n = n2
n2n = n3
n3n3 = n6
n6n6 = n12
n12n3 = n15
We shall define m(k) to be the minimum number of multiplications to compute nk; for example m(15) = 5.
For 1 k
200, find
m(k).
These problems are part of Project Euler and are licensed under CC BY-NC-SA 2.0 UK