<?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_1%2F%EA%B9%80%EC%83%81%EC%84%AD</id>
	<title>3N 1/김상섭 - 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_1%2F%EA%B9%80%EC%83%81%EC%84%AD"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=3N_1/%EA%B9%80%EC%83%81%EC%84%AD&amp;action=history"/>
	<updated>2026-05-14T20:13:01Z</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_1/%EA%B9%80%EC%83%81%EC%84%AD&amp;diff=26774&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_1/%EA%B9%80%EC%83%81%EC%84%AD&amp;diff=26774&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:15Z</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;4358392   2006-02-24 00:56:30  Accepted 2.207 4360 28565 C++ 100 - The 3n + 1 problem &lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 const int Min = 1;&lt;br /&gt;
 const int Max = 1000000;&lt;br /&gt;
 int table[Max];&lt;br /&gt;
 &lt;br /&gt;
 struct Data&lt;br /&gt;
 {&lt;br /&gt;
 	int num;&lt;br /&gt;
 	int pre_count;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 void process()&lt;br /&gt;
 {&lt;br /&gt;
 	vector&amp;amp;lt;Data&amp;amp;gt; data;&lt;br /&gt;
 	Data temp;&lt;br /&gt;
 	int i, j, k, count;&lt;br /&gt;
 	unsigned long num;&lt;br /&gt;
 	for(i = Min; i &amp;amp;lt; Max; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(table[i] == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			num = i;&lt;br /&gt;
 			count = 1;&lt;br /&gt;
 			while(num != 1)&lt;br /&gt;
 			{&lt;br /&gt;
 				if(num % 2 == 0)&lt;br /&gt;
 				{&lt;br /&gt;
 					temp.num = num /=2;&lt;br /&gt;
 					temp.pre_count = count++;&lt;br /&gt;
 					if(num &amp;amp;gt; Min &amp;amp;amp;&amp;amp;amp; num &amp;amp;lt; Max &amp;amp;amp;&amp;amp;amp; table[num] == 0)&lt;br /&gt;
 						data.push_back(temp);&lt;br /&gt;
 				}&lt;br /&gt;
 				else if(num % 2 != 0)&lt;br /&gt;
 				{					&lt;br /&gt;
 					temp.num = num = num*3 + 1;&lt;br /&gt;
 					temp.pre_count = count++;&lt;br /&gt;
 					if(num &amp;amp;lt; 0)&lt;br /&gt;
 						cout &amp;amp;lt;&amp;amp;lt; &amp;quot; 하하 &amp;quot; &amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 					if(num &amp;amp;gt; Min &amp;amp;amp;&amp;amp;amp; num &amp;amp;lt; Max &amp;amp;amp;&amp;amp;amp; table[num] == 0)&lt;br /&gt;
 						data.push_back(temp);&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			table[i] = count;&lt;br /&gt;
 			for(j = i; j &amp;amp;lt; Max; j *=2)&lt;br /&gt;
 				table[j] = count++;&lt;br /&gt;
 			for(k = 0; k &amp;amp;lt; data.size(); k++)&lt;br /&gt;
 			{&lt;br /&gt;
 				count = table[i] - data[k].pre_count;&lt;br /&gt;
 				for(j = data[k].num; j &amp;amp;lt; Max; j *=2)&lt;br /&gt;
 					table[j] = count++;&lt;br /&gt;
 			}&lt;br /&gt;
 			data.clear();&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int i, j, k, max_num;&lt;br /&gt;
 	process();&lt;br /&gt;
 //	for(i =1; i &amp;amp;lt; 20; i++)&lt;br /&gt;
 //		cout &amp;amp;lt;&amp;amp;lt; i &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot; &amp;amp;lt;&amp;amp;lt; table[i] &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 //	cout &amp;amp;lt;&amp;amp;lt; table[999999];&lt;br /&gt;
 	while(cin &amp;amp;gt;&amp;amp;gt; i &amp;amp;gt;&amp;amp;gt; j)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; i &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot; &amp;amp;lt;&amp;amp;lt; j &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
 		if(i &amp;amp;gt; j)&lt;br /&gt;
 		{&lt;br /&gt;
 			k = j;&lt;br /&gt;
 			j = i;&lt;br /&gt;
 			i = k;&lt;br /&gt;
 		}&lt;br /&gt;
 		max_num = 0;&lt;br /&gt;
 		for(k = i; k &amp;amp;lt;= j; k++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(table[k] &amp;amp;gt; max_num)&lt;br /&gt;
 				max_num = table[k];&lt;br /&gt;
 		}&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; max_num &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>