的算法查找Ñ^ P是:ALGO查找功率即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;
}
有人可以解釋該算法背後的邏輯/數學。我知道它的工作原理和一些測試案例(空運行)。我的意思是它是如何工作的,以及如何從一般的樸素方法中獲得高效。
這是O(log n)與樸素方法的O(n)相比。它將在每次迭代中將指數減半。 – nhahtdh
IITian問一個問題,那麼它一定很難:p –
爲什麼不每次迭代printf x,y&p?這很容易幫助你理解。這段代碼基本上可以找到遍歷p的各個位,而不是運行i = 0到p的循環。 – anishsane