总时间限制: 1000ms
内存限制: 65536kB
描述
求11到n之间(包括n),既是素数又是回文数的整数有多少个。
输入
一个大于11小于1000的整数n。
输出
11到n之间的素数回文数个数。
样例输入
样例输出
提示
回文数指左右对称的数,如:292,333。
AC完整代码:
#include<bits/stdc++.h>
int sp(int n)
{
int j;
for(j=2;j<n;j++)
{
if(n%j==0)
break;
}
if(n==j)
return 1;
else
return 0;
}
int hp(int n)
{
int w=0,j,r=0,a[5]={0};
while(n)
{
a[w++]=n%10;
n/=10;
}
for(j=0;j<w;j++)
{
if(a[j]==a[w-j-1])
r=1;
else
{
r=0;
break;
}
}
if(r==1)
return 1;
else
return 0;
}
int main()
{
int n,i,s=0,h=0,l=0;
scanf("%d",&n);
for(i=11;i<=n;i++)
{
h=sp(i);
l=hp(i);
if(h==1&&l==1)
s++;
}
printf("%d",s);
return 0;
}