← 完整题目索引

PROJECT EULER · #0122

高效求幂

Efficient Exponentiation

仅题目 · 已解决原题 ↗

计算 n15 的最简单方法需要十四次乘法: n×n××n=n15.

但是使用"二进制"方法,您可以通过六次乘法来计算它:

n×n=n2n2×n2=n4n4×n4=n8n8×n4=n12n12×n2=n14n14×n=n15

但是,仅用五次乘法就可以计算出它:

n×n=n2n2×n=n3n3×n3=n6n6×n6=n12n12×n3=n15

我们将定义 m(k) 为计算 nk 的最小乘法次数;例如 m(15)=5

k=1200m(k)

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。