<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=HanoiProblem%2F%EC%83%81%ED%98%91</id>
	<title>HanoiProblem/상협 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=HanoiProblem%2F%EC%83%81%ED%98%91"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=HanoiProblem/%EC%83%81%ED%98%91&amp;action=history"/>
	<updated>2026-05-14T15:58:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=HanoiProblem/%EC%83%81%ED%98%91&amp;diff=32055&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=HanoiProblem/%EC%83%81%ED%98%91&amp;diff=32055&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= 소스 설명 =&lt;br /&gt;
* 이 소스는 Hanoi 문제를 푼다음에 보면서 비교를 하는 식으로 보면 풀기 전에 보는 것보다 더 많은 도움이 될거 같네요.&lt;br /&gt;
* An = 2An-1 + 1&lt;br /&gt;
* 위 식을 잘 활용&lt;br /&gt;
* 단계를 크게 세단계로 나눈다.&lt;br /&gt;
 void hanoi(int n,int a, int b)  //실제 구현&lt;br /&gt;
 {&lt;br /&gt;
 	if(n!=0)&lt;br /&gt;
 	{&lt;br /&gt;
 		hanoi(n-1, a,inout(a,b));  //1 번 단계 시작점 a에서 입력된 목적지링(b) 말고 다른 쪽으로 옮긴다.&lt;br /&gt;
   		cout&amp;amp;lt;&amp;amp;lt;a&amp;amp;lt;&amp;amp;lt;&amp;quot;-&amp;amp;gt;&amp;quot;&amp;amp;lt;&amp;amp;lt;b&amp;amp;lt;&amp;amp;lt;&amp;quot;\n&amp;quot;;   //2 번 단계  시작점의 가장 큰 링을 목적지 링(b)으로 옮긴다.&lt;br /&gt;
 		hanoi(n-1, inout(a,b),b);  //3번 단계  첫번째 단계에서 간곳-inout(a,b) 에서 목적지링(b) 으로 간다..&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 설명이 너무 허접한거 같습니다. ㅠㅜ 누가 보충좀.. ㅠㅜ &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
= 실제 소스 =&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 void hanoi(int n,int a, int b); //a, 가 출발 b 가 목적지 n 이 갯수&lt;br /&gt;
 int inout(int i,int j);&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int n;&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;하노이 막대기 갯수를 넣으시오 ! : &amp;quot;;&lt;br /&gt;
 	cin&amp;amp;gt;&amp;amp;gt;n;  // 입력을 받는다.&lt;br /&gt;
 	hanoi(n,1,3);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 int inout(int i, int j) // 1,2,3중에서 i,j (1,2,3중 하나인 숫자)가 아닌 숫자가 리턴됨&lt;br /&gt;
 {&lt;br /&gt;
 	if((i==1 &amp;amp;amp;&amp;amp;amp; j==2) || (i==2 &amp;amp;amp;&amp;amp;amp; j==1))&lt;br /&gt;
 		return 3;&lt;br /&gt;
 	else if((i==1 &amp;amp;amp;&amp;amp;amp; j==3) || (i==3 &amp;amp;amp;&amp;amp;amp; j==1))&lt;br /&gt;
 		return 2;&lt;br /&gt;
 	else&lt;br /&gt;
 		return 1;&lt;br /&gt;
 }&lt;br /&gt;
 void hanoi(int n,int a, int b)  //실제 구현&lt;br /&gt;
 {&lt;br /&gt;
 	if(n!=0)&lt;br /&gt;
 	{&lt;br /&gt;
 		hanoi(n-1, a,inout(a,b));&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;a&amp;amp;lt;&amp;amp;lt;&amp;quot;-&amp;amp;gt;&amp;quot;&amp;amp;lt;&amp;amp;lt;b&amp;amp;lt;&amp;amp;lt;&amp;quot;\n&amp;quot;;&lt;br /&gt;
 		hanoi(n-1, inout(a,b),b);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[HanoiProblem]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>