C/C++

c언어 하노이탑 for문 구현 질문

0
재귀함수로 하노이탑 구현은 알겠는데 for문(반복문)으로 구현하는게 감도 안잡힙니다. 선배님들 도움 부탁드립니다.

재귀함수로 하노이탑 구현은 알겠는데

for문(반복문)으로 구현하는게 감도 안잡힙니다.

선배님들 도움 부탁드립니다.

kim 2021-04-10
kim 님께서 2021-04-10에 C/C++에 올린 질문

댓글

1개의 답변

0
아래 코드를 참고해보시기 바랍니다. #include #include #define pause getch() int main() { int i, j, n[10]={1,1,1,1,1,1,1,1,1,1}, c[10]={0}; char p; j = 4; //초기 탑의 높이, 여기에서는 1~10까지만 가능... for (i..

아래 코드를 참고해보시기 바랍니다.

#include <stdio.h>

#include <conio.h>

#define pause getch()

int main() {
  int i, j, n[10]={1,1,1,1,1,1,1,1,1,1}, c[10]={0};
  char p;

  j = 4; //초기 탑의 높이, 여기에서는 1~10까지만 가능...
  for (i = 0; i < j;)
    if (n[i] != 0 || !(i++ + 1)) {

      if (p = c[i], (i + j) % 2) c[i]-- == 0 && (c[i] = 2);
      else c[i]++ == 2 && (c[i] = 0);
      printf("%3d원판을 %c에서 %c로 옮긴다\n", i + 1, 'A' + p, 'A' + c[i]);

      for (n[i]--, i--; n[i] == 0 || (i = 0); n[i--] = 1);
    }

  pause;
  return 0;
}

출처 : https://m.blog.naver.com/PostView.nhn?blogId=bsbs0126&amp;logNo=150036747629&amp;proxyReferer=https:%2F%2Fwww.google.com%2F

라이너 2021-04-11
사탕 주기
라이너 님께서 2021-04-11에 C/C++에 올린 글
보관하기

댓글

조회수 2,010
답글 1
URL