AcWing 1356. 回文质数
原题链接
简单
作者:
Soñador
,
2024-11-19 18:30:57
,
所有人可见
,
阅读 1
#include<iostream>
#include<algorithm>
#include<cstring>
#include <vector>
#include <cmath>
using namespace std;
const int N = 10000000;//八位数都不用枚举
int a,b;
bool isprime(int x)//简单的判断质数的函数
{
if(x <= 1) return false;
if(x == 2) return true;
if(x % 2 == 0) return false;
for(int i = 3;i <= sqrt(x);i += 2)
if(x % i == 0) return false;
return true;
}
bool iswen(int num)//判断回文数
{
int ori = num;
int rev = 0;
while (num > 0) {
rev = rev * 10 + num % 10;
num /= 10;
}
return ori == rev;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>a>>b;
b=min(b,N);//八位数不用枚举
for(int i=a;i<=b;i++)
if(iswen(i)&&isprime(i))//都满足则输出
cout<<i<<endl;
return 0;
}