算法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级时间运算。
例题:
代码: