题目描述
所谓回文数,是指左右对称的数,如:1111,1212112121。
求 1111 到 nn 之间(包括 nn),既是质数又是回文数的整数有多少个。
输入格式
一个大于 1111 小于 1000010000 的整数 nn。
输出格式
1111 到 nn 之间的素数回文数个数。
样例 #1
样例输入 #1
23
样例输出 #1
1
#include <bits/stdc++.h>
using namespace std;
bool _(int n)
{
if(n<2)
{
return 0;
}
for(int i=2;i<=n/i;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
bool __(int n)
{
int ans=0,k,b;
b=n;
while(n!=0)
{
k=n%10;
n/=10;
ans=ans*10+k;
}
return ans==b;
}
int main()
{
int n,cnt=0;
cin>>n;
for(int i=11;i<=n;i++)
{
if(_(i)&&__(i))
{
cnt++;
}
}
cout<<cnt;
}
1715

被折叠的 条评论
为什么被折叠?



