c# – 创建Sum方法的递归

我有一个面试问题,我无法解决.我已经坐下来思考但我还是想不出怎么做.

我有3种方法.我想使用递归将2个数字加在一起,所以我不能使用任何算术运算符,如,等等.

3种方法是Sum,Add1,Sub1.

Add1取1个整数作为参数,并返回该增量为1的整数.Sub1做同样的事情,但减1.

Sum方法采用2个整数并使用递归返回2个输入整数的总和.显示实施.

另外,使用Sum函数如何实现一个新函数,该函数将2个整数作为输入并使用递归输出其产品但不使用算术运算符?

在这两种情况下,整数都是非负的.

最佳答案
Add1(value) {
  return value + 1;
}

Sub1(value) {
  return value - 1;
}

Sum(value1 , value2) {
   if(value2 == 0) {
       return value1;
   }
   value1 = Add1(value1);
   value2 = Sub1(value2);
   return Sum(value1, value2);
}

Prod(value1, value2) {
    if(value2 == 0) {
       return 0;
   }
   value2 = Sub1(value2);

   return Sum(value1, Prod(value1, value2));
}

转载注明原文:c# – 创建Sum方法的递归 - 代码日志