寒假算法快速幂

       算法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级时间运算。

例题:

代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值