gop*_*410 4 c c++ algorithm math
找到n ^ p的算法是:
unsigned long long power(unsigned n, unsigned p)
{
unsigned long long x=1, y=n;
while(p > 0)
{
if(p&1) x *= y;
y *= y;
p >>= 1;
}
return x;
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释这个算法背后的逻辑/数学.我知道它的工作原理并为一些测试用例(干运行)进行了研究.我的意思是它是如何工作的,这是如何通过一般的天真方法有效.