如何修正我的递归方法以计算给定数字的幂?

时间:2019-01-20 04:50:45

标签: java recursion

我需要使用递归来计算给定数字的幂 计算xn(n≥0)的递归算法:

if n = 0, return 1.0
else return x * xn-1                     (slow technique)

备用(更快)算法:

if n = 0, return 1.0
else if n is odd return x * xn-1
else { y = xn/2;  return y * y;} (fast technique).

我解决了较慢的部分,但是我遇到了较快的部分。

private static double fastPower(double base, int expo) {

    float a;
    if (expo == 0) {
        return 1.0;
    }else if(expo/2 != 0) {

        return base*fastPower(base,expo-1);
    }else if(expo/2 == 0){
        a = fastPower(base,expo/2);
        return a*a;

    }

0 个答案:

没有答案