使用递归编写的C++程序,用于计算两个数的乘积

使用递归编写的C++程序,用于计算两个数的乘积

递归是一种从同一个函数本身调用函数的技术。必须有一些基本或终止条件来结束递归调用。递归过程对于用更少的代码执行复杂的迭代求解非常有帮助,并且通过子操作查找更容易的求解方法。

在本文中,我们将讨论在 C++ 中执行两个数字之间的乘积(乘法)的递归方法。首先我们了解基本原理、递归函数调用语法、算法和源码。

使用递归的乘法

在高级语言中,有乘法运算符可以直接执行乘法。然而我们知道,乘法实际上是重复的加法。所以A*B的结果就是A、B的重复相加次数,或者可以说B、A的重复相加次数。每当有重复时,我们可以使用递归来做到这一点。让我们先看看递归函数定义语法。

语法

function_name ( parameter list ) {
if ( base condition ) {
terminate recursive call
}
recursive function call: function_name ( updated parameter list )
}

登录后复制

算法

让我们看看使用递归执行乘法的算法。

  • 定义一个函数multiply(),它接受两个数字A和B
    • 如果 A
    • 返回乘法( B, A )
  • 否则当B不为0时,则
    • 返回 A + 乘法( A, B - 1 )
  • 否则
    • 返回0
  • 如果结束
  • 函数定义结束
  • 读取两个输入 A 和 B
  • res = 乘法( A, B )
  • 不显示任何内容
  • 示例

    #include
    #include

    using namespace std;
    int multiply( int A, int B) {
    if( A