二分求幂(快速求幂,二进制求幂)
Posted 北溟有鱼。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分求幂(快速求幂,二进制求幂)相关的知识,希望对你有一定的参考价值。
二分求幂,
非递归求法(二进制求法):
比如
2^5就是5个2相乘,按照5的二进制求
3^10就是8个3相乘,再2个3相乘。
处理幂的二进制,具体实现代码如下:
long long quickmulti(long long a,long long b) { long long res=1; while(b) { if(b&1) //如果最后一位为1,则res*=a; res*=a; a*=a; //a*=a b>>=1; //b%=2 } return res; }
以上是关于二分求幂(快速求幂,二进制求幂)的主要内容,如果未能解决你的问题,请参考以下文章