记录编号 |
110363 |
评测结果 |
AAAAAAAAA |
题目名称 |
[USACO 1.5] 回文质数 |
最终得分 |
100 |
用户昵称 |
Satoshi |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.035 s |
提交时间 |
2014-07-11 10:11:19 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include <fstream>
#include <math.h>
using namespace std;
ifstream in("pprime.in");
ofstream out("pprime.out");
int a,b;
int check(int s)
{
int i;
if(s>2&&s>=a&&s<=b)
{
for(i=3;i<=int(sqrt(double(s)))+1;i+=2)
{
if(s%i==0)return 0;
}
out<<s<<endl;
}
if(s==2)out<<s<<endl;
return 0;
}
int main()
{
int i,j,d0,d1,d2,k,g=0;
in>>a>>b;
k=a;
while(k!=0)
{
k=k/10;
g++;
}
for(d0=g;d0<=8;d0++)
{
if(d0==1)for(i=1;i<=9;i+=2)check(i);
if(d0==2)for(i=1;i<=9;i+=2)check(i*11);
if(d0==3)for(i=1;i<=9;i+=2)for(j=0;j<=9;j++)check(i*101+j*10);
if(d0==5)for(i=1;i<=9;i+=2)for(j=0;j<=9;j++)for(d1=0;d1<=9;d1++)check(i*10001+j*1010+d1*100);
if(d0==7)for(i=1;i<=9;i+=2)for(j=0;j<=9;j++)for(d1=0;d1<=9;d1++)for(d2=0;d2<=9;d2++)check(i*1000001+j*100010+d1*10100+d2*1000);
}
in.close();
out.close();
return 0;
}