형들 하노이타워 어제 질문했었는데;; 아무리 해도 안풀려서;;;
실행파일은 이거고 밑에 코드에 ㅁ에 채워 넣는건데;;;
int cnt = 0;
void move(int , char, char, char);
void main()
{
int n;
scanf("%d", &n);
move(ㅁ, 'A', 'B', 'C');
}
void move(int n, char a, char b, char c)
{
if(n == 1)
{
cnt++;
printf("%5d : move disc 1 from tower %c to tower %cn", cnt, a, c);
}
else
{
move(ㅁ ,ㅁ ,ㅁ ,ㅁ );
cnt++;
printf("%5d : move disc %d from tower %c to tower %cn", cnt, n, a, c);
move( ㅁ,ㅁ ,ㅁ ,ㅁ );
}
}
일단 코드는 이건데;;; 아무리 해도.. 나는 위 실행화면 처럼 안나와.. 내 생각으로 ..
A->C A->B 이 자체가 될수가 없다고 생각하거든.. 이미 main에서 A->C로 가니까 함수에서
else를 따라가도 반복 될수 밖에 없을거 같은데 ㅜ ㅜ형 ㅇ이거 푼 사람 답좀 가르쳐 줄수 있어 ㅠ ㅠ
move(n, 'A', 'B', 'C'); move(n-1, 'A', 'C', 'B'); move(n-1, 'B', 'A', 'C')
잖아...
저렇게 했는데;; 값이 실행이랑 같이 안나오는데;;
재귀