게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
재귀함수 하노이탑 관련 질문 드려요..
게시물ID : programmer_14724짧은주소 복사하기
작성자 : 우아앙무지개
추천 : 0
조회수 : 329회
댓글수 : 1개
등록시간 : 2015/12/01 19:26:34
옵션
  • 본인삭제금지
학원 과제로 하노이 탑을 한번 해보라고 하셧는데

인터넷 예제도 찾아보고 해서 어떻게 결과는 나오는데요 궁금한점이 있어서요

중간 중간에 printf 문으로 원반 %c 가 두번 들어가잖아요 그리고 대입으로는 a, c 가 들어가 있구요.

그런데 분명히 a n c 이렇게 3개만 써놨는데 

왜 결과를 보면  a b c 가 서로 바뀌면서 출력이 되는지 궁금합니다.
정말 곰곰히 생각도 해보고, 노트에 적어가면서 까지 생각을 해봤는데 도무지 이해가 안되요 !! 
답변 부탁드립니다. 고맙습니다.
------코드------
#include "stdafx.h"
void hanoi(int n, char a, char b, char c);
int main(void)
{
hanoi(3, 'a', 'b', 'c');
return 0;
}
void hanoi(int n, char a, char b, char c)
{
if (n < 1)
return;
else if (n == 1)
printf("원반 %c의 %d 가 원반 %c로 이동\n", a,n,c);
else {
hanoi(n - 1, a, c, b);
printf("원반 %c의 %d 가 원반 %c로 이동\n", a, n, c);
hanoi(n - 1, b, a, c);
}
}
-----결과-----
원반 a의 1 가 원반 c로 이동 
원반 a의 2 가 원반 b로 이동
원반 c의 1 가 원반 b로 이동                                                                                            
원반 a의 3 가 원반 c로 이동                                                                                            
원반 b의 1 가 원반 a로 이동                                                                                             
원반 b의 2 가 원반 c로 이동                                                                                             
원반 a의 1 가 원반 c로 이동 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호