1408:素数回文数的个数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 14465 通过数: 9201
【题目描述】
求11到n之间(包括n),既是素数又是回文数的整数有多少个。
【输入】
一个大于11小于1000的整数n。
【输出】
11到n之间的素数回文数个数。
【输入样例】
23
【输出样例】
1
【提示】
提示:
回文数指左右对称的数,如:292,333。
【参考代码】
#include <stdio.h>
#include <math.h>
int palindrome(int n)
{
int sum=0;
while(n>0)
{
sum=sum*10+n%10;
n/=10;
}
return sum;
}
int is_prime(int n)
{
int i,k;
if(n==1)
return 0;
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)
return 0;
return 1;
}
int main()
{
int n,i,ans=0;
scanf("%d",&n);
for(i=11;i<=n;i++)
{
if(is_prime(i) && palindrome(i)==i)
ans++;
}
printf("%d\n",ans);
return 0;
}
http://ybt.ssoier.cn:8088/problem_show.php?pid=1408