<?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=%EF%BC%BBLovely%EF%BC%BDboy%EF%BC%BE_%EF%BC%BE%2FUSACO%2FPrimePalinDromes</id>
	<title>［Lovely］boy＾ ＾/USACO/PrimePalinDromes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EF%BC%BBLovely%EF%BC%BDboy%EF%BC%BE_%EF%BC%BE%2FUSACO%2FPrimePalinDromes"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EF%BC%BBLovely%EF%BC%BDboy%EF%BC%BE_%EF%BC%BE/USACO/PrimePalinDromes&amp;action=history"/>
	<updated>2026-05-15T17:47:56Z</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=%EF%BC%BBLovely%EF%BC%BDboy%EF%BC%BE_%EF%BC%BE/USACO/PrimePalinDromes&amp;diff=41478&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=%EF%BC%BBLovely%EF%BC%BDboy%EF%BC%BE_%EF%BC%BE/USACO/PrimePalinDromes&amp;diff=41478&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:37Z</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;* 그때 zp에서 소수 빨리 구하는 방법을 했던 적이 있더래죠. 난 그런거 뭐하러 하나 했는데..;;&lt;br /&gt;
* 뼈저리게 느껴집니다. 알고리즘의 중요성을.. &lt;br /&gt;
* 테스트 해서 5초 넘기면 다시 짜오라네요. 첨에 소수 걍 아무렇게나 구해서 냈더니.. 한 천만쯤 가니까 어이없는 시간이 나오더군요..;; 그래서 소수의 성질 생각해서 이리저리 뜯어 고치다가 별 이상한 방법으로 9개 테스트 모두 5초 이내 통과 했습니다. ㅠ.ㅠ 마지막 테스트는 4.9xXX초 라는;;--;&lt;br /&gt;
&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;fstream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;cmath&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 ifstream fin(&amp;quot;pprime.in&amp;quot;);&lt;br /&gt;
 ofstream fout(&amp;quot;pprime.out&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 void InputMinMax(int&amp;amp;amp; n, int&amp;amp;amp; m);&lt;br /&gt;
 string IntConvertToString(int n);&lt;br /&gt;
 bool IsPrime(const int&amp;amp;amp; n);&lt;br /&gt;
 bool IsPalinDromes(const string&amp;amp;amp; str);&lt;br /&gt;
 void OutputResult(const int&amp;amp;amp; n, const int&amp;amp;amp; m);&lt;br /&gt;
 void FillPrimeList(const int&amp;amp;amp; n, const int&amp;amp;amp; m);&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int max,min;&lt;br /&gt;
 	InputMinMax(min, max);&lt;br /&gt;
 	OutputResult(min,max);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void InputMinMax(int&amp;amp;amp; min, int&amp;amp;amp; max)&lt;br /&gt;
 {&lt;br /&gt;
 	fin &amp;amp;gt;&amp;amp;gt; min;&lt;br /&gt;
 	fin &amp;amp;gt;&amp;amp;gt; max;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void OutputResult(const int&amp;amp;amp; min, const int&amp;amp;amp; max)&lt;br /&gt;
 {&lt;br /&gt;
 	int init;&lt;br /&gt;
 &lt;br /&gt;
 	if(min&amp;amp;lt;7)&lt;br /&gt;
 		init = 5;&lt;br /&gt;
 	else&lt;br /&gt;
 		init = (min/6)*6 + 1;&lt;br /&gt;
 &lt;br /&gt;
 	bool flag[3] = {false,};&lt;br /&gt;
 &lt;br /&gt;
 	for(int i = init ; i &amp;amp;lt;=max ;)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(IsPalinDromes(IntConvertToString(i)))&lt;br /&gt;
 		{&lt;br /&gt;
 			if(IsPrime(i))&lt;br /&gt;
 			{&lt;br /&gt;
 				fout &amp;amp;lt;&amp;amp;lt; i &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		int temp;&lt;br /&gt;
 		if(i &amp;amp;gt;= 1000 &amp;amp;amp;&amp;amp;amp; !flag[0])&lt;br /&gt;
 		{		&lt;br /&gt;
 			temp = 9997;&lt;br /&gt;
 			flag[0] = true;&lt;br /&gt;
 		}&lt;br /&gt;
 		if(i &amp;amp;gt;= 100000 &amp;amp;amp;&amp;amp;amp; !flag[1])&lt;br /&gt;
 		{		&lt;br /&gt;
 			temp = 999997;&lt;br /&gt;
 			flag[1] = true;&lt;br /&gt;
 		}&lt;br /&gt;
 		if(i &amp;amp;gt;= 10000000 &amp;amp;amp;&amp;amp;amp; !flag[2])&lt;br /&gt;
 		{		&lt;br /&gt;
 			temp = 99999997;&lt;br /&gt;
 			flag[2] = true;&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		if(flag[0] &amp;amp;amp;&amp;amp;amp; flag[1] &amp;amp;amp;&amp;amp;amp; flag[2])&lt;br /&gt;
 			i = temp;&lt;br /&gt;
 &lt;br /&gt;
 		if(i%6==1)&lt;br /&gt;
 			i += 4;&lt;br /&gt;
 		else if(i%6==5)&lt;br /&gt;
 			i += 2;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 string IntConvertToString(int n)&lt;br /&gt;
 {&lt;br /&gt;
 	int maxlessn ;&lt;br /&gt;
 	string ret;&lt;br /&gt;
 	for(int i = 1 ; i &amp;amp;lt;= 100000000 ; i *= 10)	&lt;br /&gt;
 	{&lt;br /&gt;
 		if(i &amp;amp;gt; n)&lt;br /&gt;
 		{&lt;br /&gt;
 			maxlessn = i/10;&lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	for(int i = maxlessn ; i &amp;amp;gt;= 1 ; i /= 10)&lt;br /&gt;
 	{&lt;br /&gt;
 		int t = n / maxlessn;&lt;br /&gt;
 		n -= maxlessn * t;&lt;br /&gt;
 		maxlessn /= 10;&lt;br /&gt;
 		ret += (char)t + 48;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return ret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool IsPalinDromes(const string&amp;amp;amp; str)&lt;br /&gt;
 {&lt;br /&gt;
 	if( (str.length() % 2 == 0) &amp;amp;amp;&amp;amp;amp; str.length() &amp;amp;lt; 2)&lt;br /&gt;
 		return false;&lt;br /&gt;
 	int n = str.length()/2;&lt;br /&gt;
 	for(int i = 0 ; i &amp;amp;lt; n ; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if( str[i] != str[str.length() - i - 1] )&lt;br /&gt;
 			return false;&lt;br /&gt;
 	}&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool IsPrime(const int&amp;amp;amp; n)&lt;br /&gt;
 {&lt;br /&gt;
 	if(!(n%2))&lt;br /&gt;
 		return false;&lt;br /&gt;
 	for(int i = 3 ; i &amp;amp;lt;= sqrt(n) ; i+=2)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(!(n%i))&lt;br /&gt;
 			return false;&lt;br /&gt;
 	}&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>