java当一个或两个因子都为负时,如何进行递归乘法?
public static int multiply2(int num1, int num2) {
if (num1 == 0 || num2 == 0) {
return 0;
}
else {
return num1 + multiply2(num1, num2 - 1);
}
}
我刚刚意识到,制作一个程序,可以确定两个数字的乘积,一个或两个都是负数,这会很有趣。我想用递归乘法(基本上是重复加法)来实现。谁能帮帮我吗?谢谢
# 1 楼答案
如果数字为-ve,则需要添加。如果你看到我们只添加第一个数,第二个数的条件是
0
。所以如果是负的do+1
如果是正的do-1
# 2 楼答案
你可以测试它是否为负值,然后用减法代替加法: