【C语言递归】 |
您所在的位置:网站首页 › c语言求阶乘的和1到20 › 【C语言递归】 |
目录 一、递归的概念 二、算法思想 三、递归算法的设计要素 四、递归算法的经典实例 1、数的阶乘 2、斐波那契数列 总结 一、递归的概念递归作为一种算法在程序设计语言中广泛应用,是一种直接或者间接调用自身函数或者方法的算法。说简单 了就是程序自身的调用。递归算法的实质将原来的问题转化为更小的同一问题,然后递归调用方法来表示问 题的解。 二、算法思想递归算法,顾名思义就是有两个大的阶段:递和归,即就是有去(递去)有回(归来)。 递去:将递归问题分解为若干个规模较小,与原问题形式相同的子问题,这些子问题可以用相同的解题 思路来解决 归来:当你将问题不断缩小规模递去的时候,必须有一个明确的结束递去的临界点(递归出口),一旦 达到这个临界点即就从该点原路返回到原点,最终问题得到解决。 三、递归算法的设计要素递归思维是一种从顶向下的思维方式,使用递归算法往往可以简化我们的代码, 而且还帮我们解决了很复杂 的问题。递归算法的难点就在于它的逻辑性,一般设计递归算法需要考虑以下几点: 明确递归的终止条件 提取重复的逻辑,缩小问题的规模不断递去 给出递归终止时的处理办法。 四、递归算法的经典实例 1、数的阶乘 #include double factorial(unsigned int i) { if(i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |