递归算法例解(二)

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

递归算法例解(二)

7.开始调用p(0)

5

P(0)

0

4

P(1)

1

4

P(2)

2

4

P(3)

3

结束

P(4)

4

当p(0)执行完了,就会执行p(1)中的语句5(所以在方格a中,填“5”)。

因为w=0不满足语句1,所以直接跳到语句5、6,从而p(0)执行完毕,p(0)要进行“出栈”操作。

8.此时执行的语句有:5

4

P(1)

1

4

P(2)

2

4

P(3)

3

结束

P(4)

4

由于p(0)执行完成,且p(0)的方格a中为5,因此继续执行p(1)的语句5 (最后一句),所以p(1)执行完毕,p(1)要进行“出栈”操作。

9.

4

P(2)

2

4

P(3)

3

结束

P(4)

4

由于p(1)执行完成,且p(1)的方格a中为4,因此继续执行p(2)的语句4 :p(w-1); 又由于p(2)方格c中w值为2,所以调用p(1)。

10.开始调用P(1),此时执行的语句有:1、2、3

5

P(1)

1

4

P(2)

2

4

P(3)

3

结束

P(4)

4

当p(1)执行完了,就会执行p(2)中的语句5(所以在方格a中,填“5”)。

执行p(1)的语句2:cout<<w; 打印1(这是第五个结果)

当执行到语句3,还要调用p(0),只有p(0)执行完了,才能继续执行p(1)。

11.始调用P(0),此时执行的语句有:1

4

P(0)

0

5

P(1)

1

4

P(2)

2

4

P(3)

3

结束

P(4)

4

因为w=0不满足语句1,所以直接跳到语句5、6,从而p(0)执行完毕,p(0)要进行“出栈”操作。

12.此时执行的语句有:4

5

P(1)

1

4

P(2)

2

4

P(3)

3

结束

P(4)

4

由于p(0)执行完成,且p(0)的方格a中为4,因此继续执行p(1)的语句4 :p(w-1); 又由于p(1)方格c中w值为1,所以调用p(0)。

13.开始调用p(0)

5

P(0)

0

5

P(1)

1

4

P(2)

2

4

P(3)

3

结束

P(4)

4

当p(0)执行完了,就会执行p(1)中的语句5(所以在方格a中,填“5”)。

因为w=0不满足语句1,所以直接跳到语句5、6,从而p(0)执行完毕,p(0)要进行“出栈”操作。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有