递归函数怎么这么难理解啊
谁能帮忙讲解一下啊???
简单点理解,递归函数数2个基本要素:一个是描述问题规模逐步缩小的递归算法,一个是描述基本情况的递归终止条件;
下面举个简单的例子 求n!
#include<iostream.h>
long fact(int n){
if(n==0) return 1; //递归终止条件
else return n*fact(n-1); //递归调用
}
void main(){
int n;
cout<<"input n:";
cin>>n;
cout<<"n!="<<fact(n)<<endl;
}
调用参数 n-1 使问题缩小