快速幂实现

private int fastPow(int val, int p) {
        if(p == 0) return 1;
        if(p == 1) return val;

        int half = fastPow(val, p >> 1);
        int result;
        if((p & 1) == 0) result = half * half;
        else result = half * half * val;

        return result;
    }
转载请注明出处