【题目描述】求11到n之间(包括n),既是素数又是回文数的整数有多少个。 【输入】一个大于11小于1000的整数n。 【输出】11到n之间的素数回文数个数。 【输入样例】
【输出样例】
【提示】提示: 回文数指左右对称的数,如:292,333。 |
#include <bits/stdc++.h>
using namespace std;
bool IsPrime(int n)
{
if(n<=1)
return false;
for(int i=2;i<=sqrt(n);i++)
if(n%i==0)
return false;
return true;
}
bool IsPalindrome(int n)
{
int tmp=n,newnum=0;
while(n)
{
newnum=newnum*10+n%10;
n/=10;
}
return tmp==newnum;
}
int main()
{
int n,ans=0;
cin>>n;
for(int i=11;i<=n;i++)
if(IsPalindrome(i)&&IsPrime(i))
ans++;
cout<<ans;
return 0;
}
标签:11,int,个数,信奥塞,素数,1408,通题,回文 From: https://www.cnblogs.com/nanshaquxinaosai/p/18394787