记录编号 90719 评测结果 AAAAAAAAA
题目名称 [USACO 1.5] 回文质数 最终得分 100
用户昵称 GravatarLetter zZZz 是否通过 通过
代码语言 C++ 运行时间 1.501 s
提交时间 2014-03-08 22:18:31 内存使用 0.57 MiB
显示代码纯文本
#include <cmath>
#include <fstream>
using namespace std;
bool p(int x)
{
	bool k=true;
	for (int i=2;i<=pow(x,0.5);i++)  
    {  
       int b=x%i;  
       if (b==0) 
	   {
		   k=false;
		   break;
	   }
    }  
    if (k==true) return true;  
    else return false;
}
int main()
{
	ifstream fin ("pprime.in");
	ofstream fout ("pprime.out");
	int a[100000]={0},m,n,d1,d2,d3,d4,i;
	fin>>n>>m;
	a[1]=2;
	a[2]=3;
	a[3]=5;
	a[4]=7;
	a[5]=11;
	i=6;
	for (d1=1;d1<=9;d1+=2)
		for (d2=0;d2<=9;d2++)
		{
			int x=d1*100+d2*10+d1;
			if (p(x)==true)
				a[i]=x;
			i++;
		}
	for (d1=1;d1<=9;d1+=2)
		for (d2=0;d2<=9;d2++)
		{
			int x=d1*1000+d2*100+d2*10+d1;
			if (p(x)==true)
				a[i]=x;
			i++;
		}
	for (d1=1;d1<=9;d1+=2)
		for (d2=0;d2<=9;d2++)
			for (d3=0;d3<=9;d3++)
			{
				int x=10000*d1+1000*d2+100*d3+10*d2+d1;
				if (p(x)==true)
				a[i]=x;
				i++;
			}
			for (d1=1;d1<=9;d1+=2)
		for (d2=0;d2<=9;d2++)
			for (d3=0;d3<=9;d3++)
				for (d4=0;d4<=9;d4++)
				{
					int x=d1*1000000+d2*100000+d3*10000+d4*1000+d3*100+d2*10+d1;
					if (p(x)==true)
						a[i]=x;
					i++;
				}
	for (d1=1;d1<=9;d1+=2)
		for (d2=0;d2<=9;d2++)
			for (d3=0;d3<=9;d3++)
				for (d4=0;d4<=9;d4++)
				{
					int x=d1*10000000+d2*1000000+d3*100000+d4*10000+d4*1000+d3*100+d2*10+d1;
					if (p(x)==true)
						a[i]=x;
					i++;
				}
	for (int i=1;i<10000;i++)
	{
		if (a[i]>=n&&a[i]<=m)
			fout<<a[i]<<endl;
	}
	return 0;
}