问题描述
- 求这个递归的过程,谢谢!
-
#include
#include
int fun(int x){
int p;
if (x == 0 || x == 1)
p = 3;
else
p = x - fun(x - 2);return p;
}
main()
{
printf("%dn", fun(7));system("pause"); return 0;
}
解决方案
入栈过程:
fun(7) = 7 - fun(5);
fun(5) = 5 - fun(3);
fun(3) = 3 - fun(1);
fun(1) = 3;
出栈过程:
fun(3) = 3 - 3 = 0;
fun(5) = 5 - 0 = 5;
fun(7) = 7 - 5 = 2;
这种过程一下子看不懂就慢慢写出来好好理解下。
时间: 2025-01-21 05:47:44