使用递归编写的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 )}

登录后复制

算法

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

立即学习“C++免费学习笔记(深入)”;

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

示例

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

输出

Multiplication of 5, 7 is: 35Multiplication of 8, 0 is: 0Multiplication of 25, 3 is: 75Multiplication of 9, 1 is: 9

登录后复制

看,在这个程序中,函数的参数 A 和 B 都是两个整数。现在,在每一步之后,它都会将第二个参数 B 减 1,并将 A 与 A 本身相加。像这样,该函数正在执行乘法过程。

结论

递归是从函数本身调用同一函数的过程。递归调用函数时,我们稍微更新或改变参数集,以免同样的效果一次又一次出现,然后将问题划分为更小的子问题,并通过自下而上的方式解决这些更小的问题来解决问题。几乎任何可以使用循环实现的东西也可以使用递归实现。在本文中,我们看到了使用递归将两个整数相乘的简单过程。将整数多次相加,得到最终的乘法结果。

以上就是使用递归编写的C++程序,用于计算两个数的乘积的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2585697.html

(0)
上一篇 2025年3月6日 15:06:16
下一篇 2025年2月28日 10:01:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 选择排序的C程序

    选择排序是一种攻击性算法,它的工作原理是从数组中找到最小的数字,然后将其放在第一个位置。下一个要遍历的数组将从最小数字所在位置的下一个索引开始。 让我们举个例子来更清楚地说明这个概念。 我们有一个数组 {6, 3, 8, 12, 9} 在这…

    2025年3月6日
    200
  • C++程序,用于计算给定弧度值的双曲正切值

    与常规三角函数类似,双曲函数是使用双曲线而不是圆来定义的。在双曲几何中,双曲函数用于计算角度和距离。此外,它们还可以在大量线性微分方程、三次方程等的答案中找到。对于给定的角度$heta$。双曲正切函数 tanh$(heta)$ 如下 &#8…

    2025年3月6日
    200
  • 第n个卡塔兰数的C程序

    Given an interger n; the task is to find the Catalan Number on that nth position. So, before doing the program we must k…

    2025年3月6日
    200
  • 检查矩阵是否为反对称的C程序?

    如果对于所有的i和j,方阵A的元素满足aij=−aji,则称方阵A为反对称矩阵。换句话说,如果矩阵A的转置等于矩阵A的负值,即(AT=−A),则称矩阵A为反对称矩阵。 请注意,反对称矩阵的所有主对角线元素都为零。 让我们举一个矩阵的例子 A…

    2025年3月6日
    200
  • 将数组表示的数字加1(递归方法)

    给定一个数组,该数组是由非负数字表示的数字的集合,将数字加1(增加由数字表示的数字)。数字存储方式是最高位数字是数组的第一个元素。 要将数字加1到由数字表示的数字 从数组末尾开始,加法意味着将最后一个数字4舍入为5。 如果最后一个元素是9,…

    2025年3月6日
    200
  • 编写一个C程序,使用while循环计算句子的平均单词长度

    问题 在运行时输入一个句子,并编写一段代码来计算句子中出现的单词的平均长度 解决方案 算法 STARTStep 1: declare character, int and double variablesStep 2: Enter any …

    2025年3月6日
    200
  • 计算六边形内切圆内的正方形面积的C程序

    给定一个正六边形内接的圆内切的正方形,我们需要找到正方形的面积,为此我们需要找到正方形边长和正六边形边长之间的关系。 正六边形内接圆的半径的数学公式为,r=A√3/2 由于正方形的对角线等于圆的直径,所以半径和边长之间的关系为,a=√r 根…

    2025年3月6日
    200
  • C++程序用于通过键更新字典的值

    许多计算机语言都提供字典,这是一种数据结构。字典是一种更快的数据结构,它基于键和值存储数据。它保留了键值组合,以便键可以几乎实时地轻松搜索某些组件。 C++ STL 语言标准包括类似字典的数据结构。术语“map”用于描述这种数据结构。该映射…

    2025年3月6日
    200
  • C程序找到nCr和nPr

    在C编程语言中,nCr被称为组合。 nCr 是从 n 个对象的集合中选择 r 个对象,其中对象的顺序并不重要。 nPr 称为排列 。 nPr 是一组“n”个对象中“r”个对象的排列,这些对象应该按顺序或序列排列。 排列和组合公式 求排列的公…

    2025年3月6日
    200
  • 获取给定数字的大小的C++程序

    给定数字的大小意味着该特定数字之间的差异和零。它还可以表示一个数学对象相对于该数学对象中其他对象的大小同种。我们将遵循这里的第一个定义,以及大小或绝对值数字的表示为 |x|,其中 x 是实数。我们探索展示的方式给定实数的绝对值或大小。 朴素…

    2025年3月6日
    200

发表回复

登录后才能评论