java - 使用增量的乘法

标签 java recursion increment

我的作业是编写一个递归函数来将两个数字相乘,仅使用加法函数 ++--。我的附加功能是:

public static int peanoplus(int x, int y) {
    if(y==0) return x;
    else return peanoplus(++x,--y);
}

到目前为止,我的乘法函数是:

public static int peanotimes(int x, int y)
{
    if(y==0) return x;
    else return peanotimes(peanoplus(x,x),--y);
}

我不太确定在 peanotimes 函数的第一个参数中输入什么内容。现在的问题是我将数字加倍,而不是将其添加到原始数字。我知道我需要维护 x 变量,以便递归调用可以继续添加原始数字(而不是每次都加倍),但是我实际上在哪里添加数字呢?

我找到了this这与我的问题非常相似,但即使有了这些提示,我也无法找到解决方案。

最佳答案

if( y == 0 || x == 0 ) { return 0; }
    else { return peanoplus(x, peanotimes(x,--y)); }

关于java - 使用增量的乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25907759/

相关文章:

java - FileWriter,如何在同一个文件上写

java - 如何填充 TableView,其中我可以在 javafx 中使用单选按钮

java - Linux - Android Studio 1.1 Beta 3 - 未找到默认 Activity

ios - 使用 geocoder.geocodeAddressString 添加多个注释(递归?)

java - 为什么我不能增加返回值?

c - 我的增量不起作用 (c)

java - 使用JNA将数组从java传递到dll函数

c - 如何使用递归技术检查值X是否是列表L的成员

java - 对我的 GUI 编程与 Java 中的递归集成的一点帮助

javascript - 如何使用 onclick 增加 JavaScript 变量并环绕 JavaScript 数组?