当前位置: 代码迷 >> 综合 >> 1408:素数回文数的个数
  详细解决方案

1408:素数回文数的个数

热度:71   发布时间:2024-02-10 01:05:54.0

【题目描述】

求11到n之间(包括n),既是素数又是回文数的整数有多少个。带我去看题目

【输入】

一个大于11小于1000的整数n。

【输出】

11到n之间的素数回文数个数。

【输入样例】

23

【输出样例】

1

【提示】

回文数指左右对称的数,如:292,333。

【通过代码】

#include <bits/stdc++.h>
using namespace std;
int n,sum;
bool isPrime(int _n){for(int i = 2;i * i <= _n;i ++)if(_n % i == 0)return false;return true;
}
bool isReturn(int _n){char a[10]={},b[10]={};sprintf(a,"%d",_n);int len = strlen(a);for(int i = 0;i < len;i ++)b[len - i - 1] = a[i];return strcmp(a,b) == 0;
}
int main(){scanf("%d",&n);for(int i = 11;i <= n;i ++)if(isPrime(i) && isReturn(i))sum ++;printf("%d",sum);return 0;
}