题解
2025-05-26 12:26:20
发布于:浙江
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,cnt;
bool is_pal(int x){
    if(x<2) return false;
    if(x==2) return true;
    for(int i=2;i<=sqrt(x);i++)
        if(x%i==0) return false;
    return true;
}
bool is_prime(int x){
    int a[100000],cnt=0;
    memset(a,0,sizeof(a));
    while(x>0){
        cnt++;
        a[cnt]=x%10;
        x/=10;
    }
    for(int i=1;i<=cnt/2;i++)
        if(a[i]!=a[cnt-i+1]) return false;
    return true;
}
int main() {
	cin >> n;
    for(int i = 11; i <= n; i++)
        if(is_pal(i) && is_prime(i))
            cnt++;
    cout<<cnt;
    return 0;
}
这里空空如也







有帮助,赞一个