<?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=3N%2B1Problem%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD</id>
	<title>3N+1Problem/문보창 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=3N%2B1Problem%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=3N%2B1Problem/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;action=history"/>
	<updated>2026-05-14T11:10:51Z</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=3N%2B1Problem/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=26788&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=3N%2B1Problem/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=26788&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:16Z</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;
2005/02/18 Accepted 0:03.725 440&lt;br /&gt;
문제에 나와 있는 단순한 알고리즘을 제대로 구현만 해도 성공하는 쉬운 문제.&lt;br /&gt;
그러나 입력 최악기준 (1, 999999) 에 대해 수행시간이 턱없이 길다. &lt;br /&gt;
==== 코드 ====&lt;br /&gt;
 // no100 - The 3n+1 Problem &lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt; &lt;br /&gt;
 using namespace std; &lt;br /&gt;
 &lt;br /&gt;
 int findMaxCycle(int a, int b); &lt;br /&gt;
 &lt;br /&gt;
 int main() &lt;br /&gt;
 { &lt;br /&gt;
 	int a, b;                                      // 입력되는 두 개의 수           &lt;br /&gt;
 	 while (cin &amp;amp;gt;&amp;amp;gt; a &amp;amp;gt;&amp;amp;gt; b) &lt;br /&gt;
 	{          &lt;br /&gt;
 	      int maxCycle = findMaxCycle(a, b);      // 최대 사이클 &lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; a &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot; &amp;amp;lt;&amp;amp;lt; b &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot; &amp;amp;lt;&amp;amp;lt; maxCycle &amp;amp;lt;&amp;amp;lt; endl; &lt;br /&gt;
 	} &lt;br /&gt;
 	return 0; &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 int findMaxCycle(int a, int b) &lt;br /&gt;
 { &lt;br /&gt;
 	if (a &amp;amp;gt; b)                                       &lt;br /&gt;
 	{ &lt;br /&gt;
 		int t; &lt;br /&gt;
 		t = a; &lt;br /&gt;
 		a = b; &lt;br /&gt;
 		b = t; &lt;br /&gt;
 	} &lt;br /&gt;
 	int nCycle;                                     // 사이클 길이 &lt;br /&gt;
 	 long temp;                                      // 과정 값은 32비트를 넘길 수도 있다. &lt;br /&gt;
 	int maxCycle = 0;                               // 최대 사이클 &lt;br /&gt;
 	&lt;br /&gt;
 	 if (a == 1 &amp;amp;amp;&amp;amp;amp; b == 1)                    &lt;br /&gt;
 		return 1; &lt;br /&gt;
 	else if (a == 1)                                 &lt;br /&gt;
 		a++; &lt;br /&gt;
 	&lt;br /&gt;
 	int i; &lt;br /&gt;
 	for (i=a; i&amp;amp;lt;=b; i++) &lt;br /&gt;
 	{ &lt;br /&gt;
 		nCycle = 1;                                      &lt;br /&gt;
 		temp = i; &lt;br /&gt;
 		while (true) &lt;br /&gt;
 		{ &lt;br /&gt;
 			if (temp % 2 == 0) &lt;br /&gt;
 			{ &lt;br /&gt;
 				temp /= 2; &lt;br /&gt;
 				nCycle++; &lt;br /&gt;
 				if (temp == 1) &lt;br /&gt;
 					break; &lt;br /&gt;
 			} &lt;br /&gt;
 			else &lt;br /&gt;
 			{ &lt;br /&gt;
 				temp = (3 * temp + 1) / 2; &lt;br /&gt;
 				nCycle += 2; &lt;br /&gt;
 			} &lt;br /&gt;
 		} &lt;br /&gt;
 		if (maxCycle &amp;amp;lt; nCycle) &lt;br /&gt;
 			maxCycle = nCycle; &lt;br /&gt;
 	} &lt;br /&gt;
 	return maxCycle; &lt;br /&gt;
 } &lt;br /&gt;
----&lt;br /&gt;
[[3N+1Problem]] [[문보창]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>