P1217 [USACO1.5]回文质数 Prime Palindromes

因为 151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151 是回文质数。

写一个程序来找出范围 [a,b] ( a < b 100,000,000)a,b(一亿)间的所有回文质数

#include <bits/stdc++.h>
using namespace std;
int a,b;
bool f[100000010];
int main() {
    cin>>a>>b;
    if(b >= 10000000) b = 10000000; 
    f[0] = true;
    f[1] = true;
    for(int i = 2;i <= sqrt(b);i++){
        if(!f[i]){
            for(int j = i+i;j<=b;j=j+i){
                f[j] = true;
            }
        }
    } 
    int t,r;
    for(int i = a;i <= b;i++){
        if(!f[i]){
            t = i;
            r = 0;
            while(t != 0){
                r = r * 10 + t % 10;
                t = t / 10;
            }
            if(r == i) cout<<i<<endl;
        }
    } 
    return 0;
}

那就定义两个函数,一个判断回文,一个判断质数,然后遍历所有整数判断