当在函数的定义中,其操作又直接或间接地出现对自身的调用,则称这样嵌套定义为递归。
递归通常把一个大型问题层层转化为一个与原问题相似的规模较小的问题来解决。
核心思想为\(\color{red}{用少量的程序描述出解题过程所需要的多久重复计算,大大减少了代码量}\)
递归的能力在于用有限的语句来定义对象的无限集合。
递归的本质就是\(\color{red}{自己调用自己}\)。
int xn(int n)//x!的递归形式 { if(n==0)return 0; else return x*xn(n-1); }
int gcd(int x,int y)//辗转相除法 { if(n==0)return m; else return gcd(n,m%n);