0
点赞
收藏
分享

微信扫一扫

寒假算法快速幂

三维控件研究 2022-01-16 阅读 56

       算法a^b快速幂运算

a^b的运算在代码中容易超时,尤其是b特别大的时候,所以要用到快速幂运算,就是将循环的次数减少,不让代码运算的时候超时。

例如:7=111(二进制)

3的7次方本来要循环7次,现在只要循环三次。

换个更鲜明的例子3的1000000次方,用原来的循环要运行1000000次,1000000<2^20,所以现在只要运行20次。因此这个算法的运行时间是log级别的,大大降低了原先运行的时间。

看到例题:

代码:

注意:数据的范围,容易超出范围。

还有一种和上面的幂运算类似:a*b运算 ,当b特别大的时候也会超时。所以我们这里也可以运用快速幂类似的方法。3*7可以转换成              3*1

                                                                      3*2

                                                                      3*4

这样也同样的减低了程序运行的时间,log级时间运算。

例题:

代码:

举报

相关推荐

0 条评论