<?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=Whiteblue%2F%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EB%8B%A4%ED%95%AD%EC%8B%9D%EA%B5%AC%ED%95%98%EA%B8%B0</id>
	<title>Whiteblue/자료구조다항식구하기 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Whiteblue%2F%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EB%8B%A4%ED%95%AD%EC%8B%9D%EA%B5%AC%ED%95%98%EA%B8%B0"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Whiteblue/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EB%8B%A4%ED%95%AD%EC%8B%9D%EA%B5%AC%ED%95%98%EA%B8%B0&amp;action=history"/>
	<updated>2026-05-15T18:53:50Z</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=Whiteblue/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EB%8B%A4%ED%95%AD%EC%8B%9D%EA%B5%AC%ED%95%98%EA%B8%B0&amp;diff=81547&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:31, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Whiteblue/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EB%8B%A4%ED%95%AD%EC%8B%9D%EA%B5%AC%ED%95%98%EA%B8%B0&amp;diff=81547&amp;oldid=prev"/>
		<updated>2021-02-07T05:31:46Z</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; #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 #define MAX 10000;&lt;br /&gt;
 &lt;br /&gt;
 typedef struct poly_node * poly_pointer;&lt;br /&gt;
 &lt;br /&gt;
 struct poly_node {&lt;br /&gt;
 	int coef;&lt;br /&gt;
 	int expon;&lt;br /&gt;
 	poly_pointer link;	&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 poly_pointer pread();&lt;br /&gt;
 poly_pointer pmult (poly_pointer a, poly_pointer b);&lt;br /&gt;
 void pwrite (poly_pointer a);&lt;br /&gt;
 int countNode(poly_pointer a);&lt;br /&gt;
 &lt;br /&gt;
 int count_ = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	poly_pointer a,b,c,d;&lt;br /&gt;
 &lt;br /&gt;
 	a = pread();&lt;br /&gt;
 	b = pread();&lt;br /&gt;
 	pwrite(a);&lt;br /&gt;
 	pwrite(b);&lt;br /&gt;
 	c = pmult(a,b);&lt;br /&gt;
 	pwrite(c);&lt;br /&gt;
 	d=pmult(a,c);&lt;br /&gt;
 	pwrite(d);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 poly_pointer pread()&lt;br /&gt;
 {&lt;br /&gt;
 	int preExpon = MAX;&lt;br /&gt;
 	int tempCoef;&lt;br /&gt;
 	int tempExpon;&lt;br /&gt;
 &lt;br /&gt;
 	poly_pointer result = new poly_node;&lt;br /&gt;
 	poly_pointer temp;&lt;br /&gt;
 	poly_pointer rear;&lt;br /&gt;
 	temp = result;&lt;br /&gt;
 &lt;br /&gt;
 	while (true)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;coef, expon 을 입력하시오. 종료하려면 (0 0)을 입력 (예 : coef expon ): &amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; tempCoef;&lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; tempExpon;&lt;br /&gt;
 &lt;br /&gt;
 		if ( tempCoef == 0 &amp;amp;amp;&amp;amp;amp; tempExpon == 0 )&lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;End&amp;quot; &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 			delete result;&lt;br /&gt;
 &lt;br /&gt;
 			rear-&amp;amp;gt;link = NULL;&lt;br /&gt;
 &lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		if (tempExpon &amp;amp;gt;= 0 &amp;amp;amp;&amp;amp;amp; tempExpon &amp;amp;lt; preExpon)&lt;br /&gt;
 		{&lt;br /&gt;
 			result-&amp;amp;gt;coef = tempCoef;&lt;br /&gt;
 			result-&amp;amp;gt;expon = tempExpon;&lt;br /&gt;
 &lt;br /&gt;
 			preExpon = tempExpon;&lt;br /&gt;
 &lt;br /&gt;
 			rear = result;&lt;br /&gt;
 &lt;br /&gt;
 			result-&amp;amp;gt;link = new poly_node;&lt;br /&gt;
 &lt;br /&gt;
 			result = result-&amp;amp;gt;link;&lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			cerr &amp;amp;lt;&amp;amp;lt; &amp;quot;다시 입력하시오.&amp;quot; &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return temp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 poly_pointer pmult (poly_pointer a, poly_pointer b)&lt;br /&gt;
 {&lt;br /&gt;
 	int countnodeA = 0;&lt;br /&gt;
 	int countnodeB = 0;&lt;br /&gt;
 &lt;br /&gt;
 	poly_pointer ptemp = b;&lt;br /&gt;
 &lt;br /&gt;
 	poly_node temp;&lt;br /&gt;
 &lt;br /&gt;
 	count_ = 0;&lt;br /&gt;
 	countnodeA = countNode(a);&lt;br /&gt;
 &lt;br /&gt;
 	count_ = 0;&lt;br /&gt;
 	countnodeB = countNode(b);&lt;br /&gt;
 &lt;br /&gt;
 	vector &amp;amp;lt;poly_node&amp;amp;gt; v;&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0 ; i &amp;amp;lt; countnodeA ; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (int j = 0 ; j &amp;amp;lt; countnodeB ; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			temp.coef = a-&amp;amp;gt;coef * b-&amp;amp;gt;coef;&lt;br /&gt;
 			temp.expon = a-&amp;amp;gt;expon + b-&amp;amp;gt;expon;&lt;br /&gt;
 &lt;br /&gt;
 			v.push_back(temp);&lt;br /&gt;
 			&lt;br /&gt;
 			b = b-&amp;amp;gt;link;&lt;br /&gt;
 		}&lt;br /&gt;
 		a = a-&amp;amp;gt;link;&lt;br /&gt;
 		b = ptemp;&lt;br /&gt;
 	}		// 각 노드를 나누기&lt;br /&gt;
 &lt;br /&gt;
 	for (i = 0 ; i &amp;amp;lt; v.size()-1 ; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (int j = i ; j &amp;amp;lt; v.size()-1 ; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if ( v[j].expon &amp;amp;lt; v[j+1].expon )&lt;br /&gt;
 			{&lt;br /&gt;
 				temp = v[j+1];&lt;br /&gt;
 				v[j+1]  = v[j];&lt;br /&gt;
 				v[j] = temp;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (i = 0 ; i &amp;amp;lt; v.size()-1 ; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if ( v[i].expon == v[i+1].expon )&lt;br /&gt;
 		{&lt;br /&gt;
 			v[i].coef += v[i+1].coef;&lt;br /&gt;
 			v.erase(v.begin() + i+1);&lt;br /&gt;
 			i--;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	poly_pointer result = new poly_node;&lt;br /&gt;
 	poly_pointer tempResult;&lt;br /&gt;
 	poly_pointer rear;&lt;br /&gt;
 &lt;br /&gt;
 	tempResult = result;&lt;br /&gt;
 &lt;br /&gt;
 	for (i = 0 ; i &amp;amp;lt; v.size() ; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		result-&amp;amp;gt;coef = v[i].coef;&lt;br /&gt;
 		result-&amp;amp;gt;expon = v[i].expon;&lt;br /&gt;
 		rear = result;&lt;br /&gt;
 &lt;br /&gt;
 		result-&amp;amp;gt;link = new poly_node;&lt;br /&gt;
 		result = result-&amp;amp;gt;link;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	rear-&amp;amp;gt;link = NULL;&lt;br /&gt;
 &lt;br /&gt;
 	return tempResult;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void pwrite(poly_pointer a)&lt;br /&gt;
 {&lt;br /&gt;
 	if ( a-&amp;amp;gt;link == NULL ) {&lt;br /&gt;
 &lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; a-&amp;amp;gt;coef &amp;amp;lt;&amp;amp;lt; &amp;quot;X^&amp;quot; &amp;amp;lt;&amp;amp;lt; a-&amp;amp;gt;expon &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 		return;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; a-&amp;amp;gt;coef &amp;amp;lt;&amp;amp;lt; &amp;quot;X^&amp;quot; &amp;amp;lt;&amp;amp;lt; a-&amp;amp;gt;expon &amp;amp;lt;&amp;amp;lt; &amp;quot; + &amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	pwrite(a-&amp;amp;gt;link);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int countNode(poly_pointer a)&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	if ( a != NULL )&lt;br /&gt;
 	{&lt;br /&gt;
 		count_++;&lt;br /&gt;
 		countNode(a-&amp;amp;gt;link);&lt;br /&gt;
 	}&lt;br /&gt;
 	else&lt;br /&gt;
 	{&lt;br /&gt;
 		return count_;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[whiteblue]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>