作者serhgrt (☆给呼呼@妮妮☆)
看板Visual_Basic
标题Re: [VB6 ] 急问! 请益简单递回的问题..
时间Thu Mar 1 17:16:01 2012
※ 引述《note7932 (小女孩)》之铭言:
: 原Po
: 要考北科的某研所
: 结果计概程设是用Basic 应该是VB吧
: 想请问以下这题:
: 以下有一个副程式 若执行H(3,1,3) 则萤幕输出的资料为何
: Sub H(n As Integer, p as interger,q as integer)
: if n>1 Then H(n-1,p,6-p-q)
: Print"Move Disk";n;"from";p"to";q
: if n>1 Then H(n-1,6-p-q,q)
: End Sub
: 可以烦请简单地诉说流程与结果吗
: 谢谢各位..
我推的流程,若有不对的地方请指教~
若n推算到最後出现1的话都是直接print出来~
H(3,1,3) 跑第一个if ->H(2,1,2) 跑第一个if ->H(1,1,3) print 1,1,3
| |
| |
| ->print 2,1,2後 接续第二个if->H(1,3,2) print 1,3,2
|
->print 3,1,3後接续第二个if->H(2,2,3)跑第一个if->H(1,2,1) print 1,2,1
|
|
->print 2,2,3後接第二个if->H(1,1,3) print 1,1,3
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.136.41
1F:推 note7932:所以是print 1,1,3 print 1,3,2 print 1,2,1 print 1,3,3 03/01 17:27
2F:→ note7932:4组print 吗@@? 03/01 17:27
3F:→ serhgrt:1,1,3->2,1,2->1,3,2->1,2,1->2,2,3->1,1,3 03/01 17:28
4F:→ serhgrt:6组print 03/01 17:28
5F:推 note7932:懂了!!实在是大推 ! 感谢感谢 !!!!! 03/01 17:39