码迷,mamicode.com
首页 > 其他好文 > 详细

10、计算幂方

时间:2017-03-10 18:12:04      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:转换   符号   位运算   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));
	}

}

 

10、计算幂方

标签:转换   符号   位运算   class   str   nbsp   bsp   void   pre   

原文地址:http://www.cnblogs.com/zhouym/p/6531738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!