Logic 如何在不使用乘法算子的情况下生成两个正数相乘的递归函数
有人问我这个问题。我搞不懂不使用乘法运算符怎么能把两个数相乘?请分享你的想法。太简单了。请参阅此代码:Logic 如何在不使用乘法算子的情况下生成两个正数相乘的递归函数,logic,Logic,有人问我这个问题。我搞不懂不使用乘法运算符怎么能把两个数相乘?请分享你的想法。太简单了。请参阅此代码: int multiplication(int a, int b){ if(b==1|| b==0) return a; else return a+multiplication(a,--b); } 我还没有测试过。分享一下你的想法。假设你所乘的项是非负整数,你甚至不需要完全加法,只需要一个后继函数(即,可以加一个)。那是因为 a*b与将b批a a+b与
int multiplication(int a, int b){
if(b==1|| b==0)
return a;
else
return a+multiplication(a,--b);
}
我还没有测试过。分享一下你的想法。假设你所乘的项是非负整数,你甚至不需要完全加法,只需要一个后继函数(即,可以加一个)。那是因为
与a*b
将b批a
与a+b
将1添加到a,b倍
a*b
,使用如下嵌套循环:
answer = 0
for iMultiply from 1 to b
for iAdd from 1 to a
answer++
next iAdd
next iMultiply
return answer