标签:转换 符号 位运算 class str nbsp bsp void pre
package jianzhi_offer;
import java.util.Stack;
public class Pow_a {
//加快了时间效率
public static long Pow_a(int n,int a){
//或者与1做位运算,然后对数据进行向右移动,向右移动的时候注意要转换为无符号数,同时注意考略无符号数和有符号的幂是互为倒数的,还有double的判断等于号等细节问题,还有非法输入问题等。
if(n%2==1){
if(n==1)
return a;
else
return Pow_a((n-1)/2,a)*Pow_a((n-1)/2,a)*a;
}else{
if(n==0)
return 1;
else
return Pow_a(n/2,a)*Pow_a(n/2,a);
}
}
public static void main(String args[]){
System.out.println(Pow_a(13,2));
}
}
标签:转换 符号 位运算 class str nbsp bsp void pre
原文地址:http://www.cnblogs.com/zhouym/p/6531738.html