<?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=ReverseAndAdd%2F%ED%97%88%EC%95%84%EC%98%81</id>
	<title>ReverseAndAdd/허아영 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ReverseAndAdd%2F%ED%97%88%EC%95%84%EC%98%81"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ReverseAndAdd/%ED%97%88%EC%95%84%EC%98%81&amp;action=history"/>
	<updated>2026-05-15T02:20:02Z</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=ReverseAndAdd/%ED%97%88%EC%95%84%EC%98%81&amp;diff=38444&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:27, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ReverseAndAdd/%ED%97%88%EC%95%84%EC%98%81&amp;diff=38444&amp;oldid=prev"/>
		<updated>2021-02-07T05:27:55Z</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;
2006-01-09 10:59:09  Accepted 0.174 800 &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;
 &lt;br /&gt;
 #include &amp;amp;lt;math.h&amp;amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
 unsigned int numLength(unsigned int num)  &lt;br /&gt;
 {  &lt;br /&gt;
     unsigned int turn = 0;  &lt;br /&gt;
     while(num &amp;amp;gt;= 10)  &lt;br /&gt;
     {  &lt;br /&gt;
         num /= 10;  &lt;br /&gt;
         turn++;  &lt;br /&gt;
     }  &lt;br /&gt;
     return turn+1;  &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 bool isPalindrome(unsigned int *num, unsigned int length)  &lt;br /&gt;
 {  &lt;br /&gt;
     unsigned int i;  &lt;br /&gt;
     bool isPal =  false;  &lt;br /&gt;
     if(length == 1) &lt;br /&gt;
         isPal = true; &lt;br /&gt;
     else { &lt;br /&gt;
         for(i = 0; i &amp;amp;lt; length/2; i++)  &lt;br /&gt;
         {  &lt;br /&gt;
             if(num[i] == num[length-i-1])  &lt;br /&gt;
                 isPal = true;  &lt;br /&gt;
             else {  &lt;br /&gt;
                 isPal = false;  &lt;br /&gt;
                 break;  &lt;br /&gt;
             }  &lt;br /&gt;
         }  &lt;br /&gt;
     } &lt;br /&gt;
     return isPal;  &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 unsigned int ReverseAndAdd(unsigned int *num, unsigned int length)   &lt;br /&gt;
 {  &lt;br /&gt;
     unsigned int i, reverseNum = 0, Num = 0;  &lt;br /&gt;
     unsigned int *temp = new unsigned int [length];  &lt;br /&gt;
 	&lt;br /&gt;
     for(i = 0; i &amp;amp;lt; length; i++)  &lt;br /&gt;
     {  &lt;br /&gt;
         temp[i] = num[length-i-1];  &lt;br /&gt;
         reverseNum += temp[i] * pow(10, length-i-1);    // 모아서 더하기  &lt;br /&gt;
         Num += num[i] * pow(10, length-i-1);  &lt;br /&gt;
     }  &lt;br /&gt;
 	&lt;br /&gt;
 //    delete[] temp;  &lt;br /&gt;
     return (Num+reverseNum);  &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 unsigned int main()  &lt;br /&gt;
 {  &lt;br /&gt;
     unsigned int addNum, length, i, turn = 0, testCaseNum;  &lt;br /&gt;
     unsigned int num;  &lt;br /&gt;
     unsigned int * store_numbers;  &lt;br /&gt;
     cin &amp;amp;gt;&amp;amp;gt; testCaseNum;  &lt;br /&gt;
     while(testCaseNum &amp;amp;gt;= 1)  &lt;br /&gt;
     {  &lt;br /&gt;
         turn = 0;  &lt;br /&gt;
         cin &amp;amp;gt;&amp;amp;gt; num;  &lt;br /&gt;
         store_numbers = new unsigned int[numLength(num)];  &lt;br /&gt;
 		&lt;br /&gt;
         for(i = 0; i &amp;amp;lt; numLength(num); i++)            // 나누어 넣기  &lt;br /&gt;
         {  &lt;br /&gt;
             store_numbers[i] = num / pow(10, (numLength(num)-i-1));  &lt;br /&gt;
             store_numbers[i] = store_numbers[i] % 10;  &lt;br /&gt;
         }  &lt;br /&gt;
 		&lt;br /&gt;
         while(1)  &lt;br /&gt;
         {          &lt;br /&gt;
             length = numLength(num);  &lt;br /&gt;
             for(i = 0; i &amp;amp;lt; length; i++)            // 나누어 넣기  &lt;br /&gt;
             {  &lt;br /&gt;
                 store_numbers[i] = num / pow(10, (length-i-1));  &lt;br /&gt;
                 store_numbers[i] = store_numbers[i] % 10;  &lt;br /&gt;
             }  &lt;br /&gt;
             if(isPalindrome(store_numbers, length))  &lt;br /&gt;
             {  &lt;br /&gt;
                 if(turn == 0) &lt;br /&gt;
                     addNum = num; &lt;br /&gt;
                 if(length == 1) &lt;br /&gt;
                     addNum = num; &lt;br /&gt;
                 break;  &lt;br /&gt;
             }  &lt;br /&gt;
             addNum = ReverseAndAdd(store_numbers, length);  &lt;br /&gt;
             // 바꿔서 더하기      &lt;br /&gt;
             turn++;  &lt;br /&gt;
             num = addNum;  &lt;br /&gt;
         }      &lt;br /&gt;
 		&lt;br /&gt;
         cout &amp;amp;lt;&amp;amp;lt; turn &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot; &amp;amp;lt;&amp;amp;lt; addNum &amp;amp;lt;&amp;amp;lt; endl;  &lt;br /&gt;
         testCaseNum--;  &lt;br /&gt;
     }  &lt;br /&gt;
 //    delete []store_numbers;  &lt;br /&gt;
     return 0;  &lt;br /&gt;
 }  &lt;br /&gt;
----&lt;br /&gt;
[[ReverseAndAdd]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>