迭代,递归和乘法

时间:2015-02-19 01:29:15

标签: java recursion

我想了解我的导师要我做什么。在他的描述"设计,实现和测试Java程序Multiplication.java,它包括迭代方法multIterative和递归方法multRecursive。两种方法都采用相同的参数,即将乘以的两个​​正整数并返回乘法结果。对于这两种方法,使用重复添加技术来实现两个数字的相乘。例如,4乘以6应计算为6 + 6 + 6 + 6(即四倍六)。"

我可以理解递归的乘法而不是迭代。他想要我做阶乘吗?或者是什么?我需要帮助理解。例子会有所帮助!

3 个答案:

答案 0 :(得分:1)

while循环应该可以解决这个问题

public int multiIterative(int firstNum, int secondNum){
    int result;
    while(secondNum > 0){
        result += firstNum;
        secondNum--;
    }
    return result;
}

答案 1 :(得分:0)

谢谢,但我也想出了类似的东西。这也可以用于迭代吗?

public static int multIterative(int a, int b) {

    if (b == 0) {

        return 1;

    } else if (b < 0) {

        return 0;
    }

    return a * multIterative(a, b - 1);

}

答案 2 :(得分:0)

好的,然后在我的multRecursion()的递归中我做了

public static int multRecursive(int a, int b) {

    if (a == 0 || b == 0) {

        return 0;
    }

    return multRecursive(a, b - 1) + a;

}