aboutsummaryrefslogtreecommitdiff
path: root/tests/sysy_lvX/067_hanoi.sy
blob: 72cda0b619753371b5aa58091fa8dea7fdb9dd66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
int cnt;
void action(int num,int p,int q)
{
	
	putint(num);
	putch(58);
	putint(p);
	putch(45);
	putch(62);
	putint(q);
	putch(10);
	
	cnt=cnt+1;
}

void hanoi(int num,int p, int q,int r)
{
	if(num==1) action(num,p,r);
	else 
	{
		hanoi(num-1,p,r,q);
		action(num,p,r);
		hanoi(num-1,q,p,r);
	}
}
int main()
{
	int num,a,b,c;
	cnt=0; 
	num=3;
	a=1;
	b=2;
	c=3;
	hanoi(num,a,b,c);
	return cnt;
	 
}