Hanoi Tower.

Slides:



Advertisements
Similar presentations
Made by 주례 없는 결혼식♥ 대본 사회 : 홍길동.
Advertisements

Recursion SANGJI University KO Kwangman
Activation Records & Recursion
Power C++ 제6장 포인터와 문자열.
리니어 스케일 김한수.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
19세기 말 프랑스 수학자 Lucas가 제안 전설 Benares(베트남 하노이 외곽)에는 세계의 중심이 있고, 그 곳에는 아주 큰 사원이 있다. 이 사원에는 높이 50cm 정도 되는 다이아몬드 막대 3 개가 있다. 그 중 한 막대에는 천지 창조 때에 신이 구멍이 뚫린 64.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
C언어: 배열 (Arrays).
Autokey Cipher 자동키 암호 Department of Cyber Security / 박건주.
6장. printf와 scanf 함수에 대한 고찰
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
CHAP 2:순환 순천향대학교 컴퓨터공학과.
Chapter 02 순환 (Recursion).
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
하노이 탑의 최단 이동 횟수 알아 보기 제주 북초등학교 6학년 심화반 임 성 찬.
국가대표 생애주기교육 프로그램 참여방법 안내
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
CHAP 2:순환.
다음 주 과제 3장 읽어오기 숙제 해서 제출하기. 자료구조와 알고리즘, 순환 E304호,
19. 함수 포인터와 void 포인터.
수업 첫 날 교육B 황유미 첫 수업 계획에 대해 알아보도록 하겠습니다..
함수와 변수 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
CHAP 2:순환.
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 Slide 1 (of 19).
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
연결링크 이미지를 마일리지샵 내에 기획전으로 제작하여 오픈/노출 사이즈 가로 1000/세로 상관x 배너사이즈 가로 400
CHAP 2:순환 순천향대학교 컴퓨터공학과.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
-Part2- 제1장 1차원 배열이란 무엇인가.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Fucntion 요약.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
18장. 다차원 배열 그리고 포인터.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
프로그램 개발 방법론 부재 : 연습문제 (6장) 학번: 이름:김치우.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
7주차: Functions and Arrays
CHAP 2:순환.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
Homework #8 (실습 #7) [1/2] 다음을 수행하는 PHP 프로그램을 작성하여 프로그램과 결과물을 프린트하여 제출한다. sin(45º), cos(45º), tan(45º)를 출력하는 프로그램을 작성하시오. 피보나치 수를 구하는 함수 fib($n)을 작성하고,
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
구조체(struct)와 공용체(union)
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
Report #4 (1) (due 4/4) 문제 #1 3개의 막대 A, B, C와 원판 n개를 전달받아 Hanoi 탑 문제를 해결하는데 필요한 원판의 이동 회수를 구하여 반환하는 hanoi_tower(n, A, B, C)를 작성하라. 여기서 원판 n은 막대 A에 쌓여 있고.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
17장. 포인터의 포인터.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
실 습 2.
함수 정의, void 자료형 함수 원형선언 함수 호출 변수 영역 규칙 재귀 함수
Presentation transcript:

Hanoi Tower

A 기둥의 모든 원판을 C 기둥으로 이동시킨다. B 기둥은 필요할 때는 언제든지 사용이 가능하다. 한 번에 하나의 원판만 이동할 수 있다. 맨 위에 있는 원판만 이동할 수 있다. 크기가 작은 원판 위에 큰 원판이 쌓일 수 없다. 중간의 막대를 임시적으로 이용할 수 있으나 앞의 조건들을 지켜야 한다.

3개의 원판이 있는 경우 A B C

1 단계 A B C

2 단계 A B C

3 단계 A B C

4 단계 A B C

5 단계 A B C

6 단계 A B C

7 단계 A B C

4개의 원판이 있는 경우 A B C

4개의 원판이 있는 경우 1 단계 A B C

4개의 원판이 있는 경우 2 단계 A B C

4개의 원판이 있는 경우 3 단계 A B C

4개의 원판이 있는 경우 4 단계 A B C

4개의 원판이 있는 경우 5 단계 A B C

4개의 원판이 있는 경우 6 단계 A B C

4개의 원판이 있는 경우 7 단계 A B C

4개의 원판이 있는 경우 8 단계 A B C

4개의 원판이 있는 경우 9 단계 A B C

4개의 원판이 있는 경우 10 단계 A B C

4개의 원판이 있는 경우 11 단계 A B C

4개의 원판이 있는 경우 12 단계 A B C

4개의 원판이 있는 경우 13 단계 A B C

4개의 원판이 있는 경우 14 단계 A B C

4개의 원판이 있는 경우 15 단계 A B C

Hanoi Tower 를 프로그래밍 하시오. 4개의 원판을 이동시키는 프로그램을 작성하시오. 메인함수와 분리하여 재귀함수를 따로 작성하시오. 코드의 별 모양 * 부분만 코딩하시면 됩니다.

#include <stdio.h> void hanoi_tower(int n, char from, char tmp, char to) { static int step=1; if (n == 1) printf("Step: %d 원판 1을 %c에서 %c로 옮긴다. \n", step++, from, to); else { hanoi_tower(*******************); printf("Step: %d 원판 %d을 %c에서 %c로 옮긴다 \n", step++, n, from, to); } void main(void) hanoi_tower(4, 'A', 'B', 'C');