重复利用幂次计算结果,复杂度为O(lgn)
第一个while循环先处理n中末尾的0。如n=10100,循环后使n=101。该循环处理x的2的幂次方的幂,然后将结果放入result。
接下来的循环中,从n的低位(least significant)向高位(most significant)考虑。x重复利用已算好的低次幂结果,从而减少计算量。
重复利用幂次计算结果,复杂度为O(lgn)
第一个while循环先处理n中末尾的0。如n=10100,循环后使n=101。该循环处理x的2的幂次方的幂,然后将结果放入result。
接下来的循环中,从n的低位(least significant)向高位(most significant)考虑。x重复利用已算好的低次幂结果,从而减少计算量。