快速幂
举个简单的例子理解一下吧,比如pow(5,13),正常算的话需要执行乘法15次吧。可是如果采用快速幂,只要进行只要四次运算就ok了。13的二进制为1101,每一位分别代表8,4,2,1。
原理很简单,x每轮都自乘,若遇到当前二进制为1的话,就乘与x。有点词穷了,附上代码赋值理解吧。
class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Felix's Footprint!
评论
举个简单的例子理解一下吧,比如pow(5,13),正常算的话需要执行乘法15次吧。可是如果采用快速幂,只要进行只要四次运算就ok了。13的二进制为1101,每一位分别代表8,4,2,1。
原理很简单,x每轮都自乘,若遇到当前二进制为1的话,就乘与x。有点词穷了,附上代码赋值理解吧。
class Solution { |