回文素数求调
  • 板块学术版
  • 楼主Petrichor_Left
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/8/11 19:31
  • 上次更新2023/11/3 04:24:59
查看原帖
回文素数求调
730728
Petrichor_Left楼主2023/8/11 19:31

题目传送门

#include<cstdio>
using namespace std;
const long long int N=100000050;
bool hw[N],prime[N];
void isHWS(int n,int n1)
{
    int temp=n,ans=0;
    for(int i=n;i<=n1 && temp!=0;++i)
	{
	ans=ans*10+temp%10;
	temp/=10;
    if(ans==n)hw[ans]=true;
    else hw[ans]=false;
	}
}
void isprime(int n,int n1)
{
    for(int i=n;i<=n1;++i)
    {
    if(i<=1)prime[i]=false;
    if(i==2 || i==3)prime[i]=true;
    if(i%6!=1 && i%6!=5)prime[i]=false;
    for(int j=6;j*j<=i;j+=5)if(j%i==0 || j%(i+2)==0)prime[j]=false;
	}
}
int main()
{
	long long int a,b;
	scanf("%lld%lld",&a,&b);
	isHWS(a,b);
	isprime(a,b);
	for(int i=a;i<=b;++i)
	if(hw[i]==true && prime[i]==true)printf("%d\n",i);
	return 0;
}
2023/8/11 19:31
加载中...