<?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=SmithNumbers%2F%EC%A1%B0%ED%98%84%ED%83%9C</id>
	<title>SmithNumbers/조현태 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=SmithNumbers%2F%EC%A1%B0%ED%98%84%ED%83%9C"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=SmithNumbers/%EC%A1%B0%ED%98%84%ED%83%9C&amp;action=history"/>
	<updated>2026-05-14T18:16:15Z</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=SmithNumbers/%EC%A1%B0%ED%98%84%ED%83%9C&amp;diff=39249&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=SmithNumbers/%EC%A1%B0%ED%98%84%ED%83%9C&amp;diff=39249&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:04Z</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;
 음.. 크기가 크기인 만큼 시간이 약~~간 걸리긴 하지만..&lt;br /&gt;
 뭐..풀어준다는..*^^*&lt;br /&gt;
 문제가 있다면 문제에서 요구하는 10^9까지는 무리...&lt;br /&gt;
 속도를 위해서 저번에 사용했던 소스를 또 우려먹긴 했지만..&lt;br /&gt;
 10^9이라니.. 약 1TB.. 농담이 아니자낫~&amp;gt;ㅃ&amp;lt;;;&lt;br /&gt;
 뭐.. 이런이유로.. 속도를 문제로 조건을 버려버린..불량감자소스가 되어버렸다고나..&lt;br /&gt;
 어쨋든 문제에서 필요한건 풀어내니 문제는 없다고 본다~ 나름대로 빨리 풀어낸다고.ㅎ&lt;br /&gt;
&lt;br /&gt;
== 소스 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 unsigned int Sum_jari(unsigned int);&lt;br /&gt;
 unsigned int Creat_base_and_process(unsigned int number);&lt;br /&gt;
 unsigned int Get_right(unsigned int, unsigned int*);&lt;br /&gt;
 &lt;br /&gt;
 const int MAX_NUMBER=10000000;&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	int number_simulation;&lt;br /&gt;
 	printf(&amp;quot;테스트를 시행할 횟수를 입력하세요.\n&amp;amp;gt;&amp;amp;gt;&amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;number_simulation);&lt;br /&gt;
 	for (;number_simulation&amp;amp;gt;0;--number_simulation)&lt;br /&gt;
 	{&lt;br /&gt;
 		unsigned int minimum_number;&lt;br /&gt;
 		printf (&amp;quot;\n숫자를 입력하세요.\n&amp;amp;gt;&amp;amp;gt;&amp;quot;);&lt;br /&gt;
 		scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;minimum_number);&lt;br /&gt;
 		printf(&amp;quot;결과 : %d\n&amp;quot;,Creat_base_and_process(minimum_number+1));&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 unsigned int Get_right(unsigned int number, unsigned int* log_number)&lt;br /&gt;
 {&lt;br /&gt;
 	unsigned int sum=0;&lt;br /&gt;
 	while (number&amp;amp;gt;1)&lt;br /&gt;
 	{&lt;br /&gt;
 		if (1==log_number[number])&lt;br /&gt;
 		{&lt;br /&gt;
 			sum+=number;&lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 		sum+=Sum_jari(log_number[number]);&lt;br /&gt;
 		number/=log_number[number];&lt;br /&gt;
 	}&lt;br /&gt;
 	return sum;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 unsigned int Sum_jari(unsigned int number)&lt;br /&gt;
 {&lt;br /&gt;
 	unsigned int sum=0;&lt;br /&gt;
 	while (number&amp;amp;gt;0)&lt;br /&gt;
 	{&lt;br /&gt;
 		sum+=number%10;&lt;br /&gt;
 		number/=10;&lt;br /&gt;
 	}&lt;br /&gt;
 	return sum;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 unsigned int Creat_base_and_process(unsigned int number)&lt;br /&gt;
 {&lt;br /&gt;
 	unsigned int *log_number=(unsigned int*)malloc((MAX_NUMBER+2)*sizeof(unsigned int));  &lt;br /&gt;
 	unsigned int gab;  &lt;br /&gt;
 	unsigned int sum=0;&lt;br /&gt;
 	log_number[2]=1;  &lt;br /&gt;
 	log_number[3]=0;  &lt;br /&gt;
 	for (register unsigned int i=4; i&amp;amp;lt;=MAX_NUMBER;i+=2)  &lt;br /&gt;
 	{  &lt;br /&gt;
 		log_number[i]=1;  &lt;br /&gt;
 		log_number[i+1]=0;  &lt;br /&gt;
 	}  &lt;br /&gt;
 	for (register unsigned int i=3; i&amp;amp;lt;=MAX_NUMBER; ++i)  &lt;br /&gt;
 	{  &lt;br /&gt;
 		if (0==log_number[i])  &lt;br /&gt;
 		{  &lt;br /&gt;
 			log_number[i]=1;  &lt;br /&gt;
 			gab=i+i;  &lt;br /&gt;
 			for(register unsigned int j=i+gab; j&amp;amp;lt;=MAX_NUMBER; j+=gab)  &lt;br /&gt;
 				log_number[j]=i;  &lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	unsigned int left=Sum_jari(number),right=Get_right(number,log_number);&lt;br /&gt;
 	while (left!=right)&lt;br /&gt;
 	{&lt;br /&gt;
 		if (MAX_NUMBER==number)&lt;br /&gt;
 		{&lt;br /&gt;
 			free(log_number); &lt;br /&gt;
 			return -1;&lt;br /&gt;
 		}&lt;br /&gt;
 		++number;&lt;br /&gt;
 		left=Sum_jari(number);&lt;br /&gt;
 		right=Get_right(number,log_number);&lt;br /&gt;
 	}&lt;br /&gt;
 	free(log_number); &lt;br /&gt;
 	return number;&lt;br /&gt;
 }&lt;br /&gt;
== 저에게 할말 ==&lt;br /&gt;
----&lt;br /&gt;
[[AOI]] [[SmithNumbers]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>