记录编号 110378 评测结果 AAAAAAAAA
题目名称 [USACO 1.5] 回文质数 最终得分 100
用户昵称 Gravatarslyrabbit 是否通过 通过
代码语言 C++ 运行时间 0.064 s
提交时间 2014-07-11 10:48:09 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long x,y;
int weishu(int x)
{
	int l=0,temp=x;
	while(temp>0)
	{
		l++;
		temp/=10;
	}
	return l;
}
bool check(long long m)
{
	double temp=m;
	if(m<x||m>y)
		return false;
	for(int i=2;i<=sqrt(temp);i++)
	{
		if(m%i==0)
			return false;
	}
	return true;
}
int main()
{
	freopen("pprime.in","r",stdin);
	freopen("pprime.out","w",stdout);
	long long a1[10]={0};
	long long a2[100]={0};
	long long a3[1000]={0};
	long long a4[10000]={0};
	int l[5]={0};
	cin>>x>>y;
	for(int i=1;i<=weishu(y);i+=2)
	{
		if(i==9)
			break;
		for(int j=0;j<=9;j++)
		{
			if(i==1)
			{
			    a1[j]=j;
				if(check(j))
					cout<<j<<endl;
				l[1]++;
			}
			if(i==3)
			{
				for(int k=0;k<=l[1];k++)
				{
					a2[l[2]++]=j*100+a1[k]*10+j;
					if(check(a2[l[2]-1]))
					    cout<<a2[l[2]-1]<<endl;
				}
			}
			if(i==5)
			{
				for(int k=0;k<=l[2];k++)
				{
					a3[l[3]++]=j*10000+a2[k]*10+j;
					if(check(a3[l[3]-1]))
					    cout<<a3[l[3]-1]<<endl;
				}
			}
			if(i==7)
			{
				if(j==0)
					continue;
				for(int k=0;k<=l[3];k++)
				{
					a4[l[4]++]=j*1000000+a3[k]*10+j;
					if(check(a4[l[4]-1]))
					    cout<<a4[l[4]-1]<<endl;
				}
			}
		}
		if(i==1&&x<=11)
			cout<<11<<endl;
	}
	return 0;
}