mrHCT @ 2023-01-14 00:00:24
#include<iostream>
using namespace std;
int isprime[100000000];
bool notprime[100000000];
int k=0;
int shu=100000000;
int sk=0;
int t1=0;
int main()
{ int a,b;
cin>>a>>b;
for(int i=2;i<=b;i++)
{
if(notprime[i]==false)
{
isprime[k]=i;
if(a>=isprime[k-1]&&a<=isprime[k])
{
a=k;
}
k++;
}
for(int j=0;j<k&&isprime[j]*i<shu;j++)
{
notprime[isprime[j]*i]=true;
if(i%isprime[j]==0)break;
}
}
isprime[0]=0;isprime[1]=0;
for(int i=a;i<=k;i++)
{
int n=isprime[i];
int sum=0;
for(int j=0;n>0;j++)
{
sum=sum*10+n%10;
n=n/10;
}
if(sum==isprime[i]&&isprime[i]!=0)
cout<<isprime[i]<<endl;
}
//cout<<a;
return 0;
}
by OwenTZC @ 2023-01-14 00:30:28
感觉。。不如无耻打表过
by DioxygenDifluoride @ 2023-01-14 08:43:56
@mrHCT 请不要用 cin,cout
,因为它们太慢了
#include<iostream>
using namespace std;
int isprime[100000000];
bool notprime[100000000];
int k=0;
int shu=100000000;
int sk=0;
int t1=0;
int main()
{ int a,b;
scanf("%d%d",&a,&b);
for(int i=2;i<=b;i++)
{
if(notprime[i]==false)
{
isprime[k]=i;
if(a>=isprime[k-1]&&a<=isprime[k])
{
a=k;
}
k++;
}
for(int j=0;j<k&&isprime[j]*i<shu;j++)
{
notprime[isprime[j]*i]=true;
if(i%isprime[j]==0)break;
}
}
isprime[0]=0;isprime[1]=0;
for(int i=a;i<=k;i++)
{
int n=isprime[i];
int sum=0;
for(int j=0;n>0;j++)
{
sum=sum*10+n%10;
n=n/10;
}
if(sum==isprime[i]&&isprime[i]!=0)
printf("%d\n",isprime[i]);
}
//cout<<a;
return 0;
}
by mrHCT @ 2023-01-14 15:07:06
@woshishabi250 学到了学到了
by Lucas2024 @ 2023-01-25 16:06:01
#include<iostream>
#include<cmath>
using namespace std;
int m,n,pal[100000005],pos=4;
bool isprime(int x)
{
int i;
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0)
{
return false;
break;
}
}
return true;
}
int main()
{
int a,b,c,d,e,i;
cin>>m>>n;
//构造回文数
pal[1]=5;pal[2]=7;pal[3]=11;
for(a=1;a<=9;a+=2)/*只有奇数是素数*/
{
for(b=0;b<=9;b++)
{
pal[pos++]=101*a+10*b;
}
}
for(a=1;a<=9;a+=2)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
pal[pos++]=10001*a+1010*b+100*c;
}
}
}
for(a=1;a<=9;a+=2)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
for(d=0;d<=9;d++)
{
pal[pos++]=1000001*a+100010*b+10100*c+1000*d;
}
}
}
}
for(a=1;a<=9;a+=2)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
for(d=0;d<=9;d++)
{
for(e=0;e<=9;e++)
{
pal[pos++]=100000001*a+10000010*b+1000100*c+101000*d+10000*e;
}
}
}
}
}
for(i=1;pal[i]<=n;i++)
{
if(pal[i]>=m&&isprime(pal[i]))
{
cout<<pal[i]<<endl;
}
}
return 0;
}