public class Pow {/*** 求x^n 时间复杂度O(log(n))* @param x* @param n* @return*/public static long pow(int x,int n){System.out.println("************");if(n==1){return x;}if(n%2==0){long pow = pow(x,n/2);return pow*pow;}if(n%2==1){//注意,这里一定要使用临时变量来存储中间结果,以降低递归次数long pow = pow(x, (n - 1) / 2);return pow*pow*x;}return 1;}public static void main(String[] args) {System.out.println(pow(2,9));}
如果觉得《求一个数的N次方》对你有帮助,请点赞、收藏,并留下你的观点哦!