如何在不使用乘法运算符的情况下进行乘以两个正数的递归函数

时间:2014-10-10 12:51:45

标签: logic

有人问我这个问题。我很困惑如何在不使用乘法运算符的情况下将两个数相乘? Plz分享你的想法。

2 个答案:

答案 0 :(得分:1)

它如此简单。看到这段代码:

int multiplication(int a, int b){
   if(b==1|| b==0) 
      return a; 
   else 
   return a+multiplication(a,--b); 
}

我还没有测试过。只是分享它的想法。

答案 1 :(得分:0)

假设您乘以的项是非负整数,您甚至不需要完全添加,只需要一个后继函数(即添加一个函数)。那是因为......

  • a*badd together b lots of a
  • 相同
  • a+badd 1 to a, b times
  • 相同

所以你可以使用这样的嵌套循环编程a*b

answer = 0
for iMultiply from 1 to b
   for iAdd from 1 to a
      answer++
   next iAdd
next iMultiply
return answer