1 result = 1; 2 for(int i = 1; i <=n; i++) 3 result *= a;
如果改进算法为
result = a; for(int i = 1; i <=k; i++) result = result * result;
请问如何推导出n与k之间需要满足的关系?
注:该方法为计算a^n的结果。
上面那个a哪儿来的?
a就是一个数,就是计算a^n for integer n.
没分了,学习了
什么是“没分了”?
n=2^k
k=log(n)?
显然不对
这样改进会不会错了?
搜搜快速幂
这和n的二进制表示有关,循环要加上判断