函数递归部分总结

一. 递归函数:函数内部操作又直接或间接地出现对自身的调用,则称这样的程序嵌套定义为递归函数。

  递归函数的主要作用是:把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。用递归思想写出的程序往往十分简洁易懂。

二.递归的分类:  函数直接调用其自身,称为直接递归;函数间接调用其自身,称为间接递归。

   递归的注意事项:递归主要作用将大规模问题转化为小规模,所以注意递归的终止条件。

三.运用递归的条件(一般):

   (1.)需要求解的问题可以化为子问题求解,其子问题的求解办法与原问题相同,只是规模上的增加或减少。

   (2.)递归调用的次数是有限的;必须有递归结束的条件(称为递归边界)。

四.用函数递归方式解决最大公约数问题

#include<iostream>

using namespace std;

int gcd(int,int);

int main()

{   int m,n;

   cin>>m>>n;

  cout<<"gcd="<<gcd(m,n)<<endl;

  return 0;

}

int gcd(int m,int n)

{ return n==0?m:gcd(n,m%n);

 }   

通过仔细研读这组代码,从而找出与之前的不同之处,从而掌握递归的作用。


猜你喜欢

转载自blog.csdn.net/cn_826/article/details/79749832