计算数值的整数次方

来源:互联网 发布:httppost设置json参数 编辑:程序博客网 时间:2024/05/22 17:46
public class Pow {/** *  * 计算a的n次方 * @param a  基数 * @param n  指数 * @return   当输入不合法时返回-1,否则返回a的n次方 */public double pow(int a,int n){if(a == 0 && n < 0){return -1;}if(n == 0 && a != 0){return 1;}if(n == 1){return a;}//n是否为负数boolean nMinus = false;if(n < 0){nMinus = true;n = -n;}double result = 1;result = pow(a,n/2) * pow(a,n/2);if((n & 1) != 0){result = result * a;}if(nMinus == true){result = 1/result;}return result;}public static void main(String[] args) {Pow p = new Pow();System.out.println(p.pow(3,3));}}