洛谷刷题:
注:回文质数没有八位的,只有7位9位,去掉八位的时间就够了不然会超时的哦!
所以加个if(b>10000000)b=10000000就过了。
#include<iostream>
#include<iomanip>
#include<math.h>
#include<string>
#include<string.h>
#include<stack>
#include<vector>
#include<cstring>
#include<algorithm>
#define pi acos(-1)
using namespace std;
bool isprime(int n)
{
for (int i = 2; i*i <= n; i++)
if (n % i == 0)return false;
return true;
}
bool ishui(int n)
{
int m = n,num=0;
while (m != 0)
{
num = num * 10 + m % 10;
m /= 10;
}
if (num == n)return true;
return false;
}
int main()
{
int a, b;
cin >> a >> b;
if (b > 10000000)b = 10000000;
if (a % 2 == 0)
a++;
for (int i = a; i <= b; i+=2)
{
int flag = 0;
if (ishui(i))
if (isprime(i))
flag = 1;</algorithm></cstring></vector></stack></string></iomanip></iostream>
if (flag)cout << i << endl; } return 0;
}