使用分治法求X的N次方,时间效率为lgN

时间:2022-03-06 11:38:02

  最近在看MIT的算法公开课,讲到分治法的求X的N次方时,只提供了数学思想,于是自己把代码写了下,虽然很简单,还是想动手写一写。

  int powerN(int x,int n){

if(n==0){

  return 1;

}

int childN = n/2;

int result;

result = powerN(x,childN);

if(n&1){

  return result*result;

}  

else{

  return result*result*x;

}

  }