当前位置:文档之家› C++递归算法——执行方法及过程

C++递归算法——执行方法及过程

void main() { int y; y=f(4) cout<<y; }
C++递归算法
执行过程
?
为什么能计算n! 考察程序执行过程:(分为递推和回归两个过程)
第二次调用:n为3 int fac(int n) { if(n==1) return(1); else return(fac(n-1)*n); } 返回1*2*3 第三次调用:n为2 int fac(int n) { if(n==1) return(1); else return(fac(n-1)*n); } 返回1*2 第四次调用:n为1 int fac(int n) { if(n==1) return(1); else return(fac(n-1)*n); } 返回1
不能再分解
C++递归算法
谢谢
第一次调用:n为4
int fac(int n) { if(n==1) return(1); else return(fac(n-1)*n); } 返回1*2*3*4
C++递归算法 ? 递归函数反映一种什么样的思维
分解 n!
问题
小问题
n!
分 解 (n-1)! 小问题
分解 更小 问题 ┆ 分解
最小 问题 1!
中学生算法设计在线课程
C++入门知识 C++分支结构 C++循环结构
数组
C++栈和队列
C++递归算法
设计步骤
•描述递归关系 •确定递归出口
•写出递归函数
C++递归算法
执行过程
int fac(int n) { if(n==1) return(1); else return(fac(n-1)*n); }
相关主题