呦吼!——是素数回文数
原题链接https://nuoyanli.com/contest/24/problem/B
由于题目给的数据并不大,采用先判断素数或者先判断回文数都可以,我采用的是先判断是否为素数,在判断是否为回文数的方法。
判断素数时采用for遍历一个一个判断是否可以被除1及本身以外除尽的方法。
想要判断回文数时我们可以发现题目中所给的n的范围是两位数和三位数
所以只需要分为两种情况进行判断即可,当n为两位数时第一位和第二位相同即为回文数,当n为三位数时,第一位和第三为相同即为回文数。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main()
{
long long a,b,c=0,d=0,e,f,g,h,i,j,n,m,o,x,y;
scanf("%lld",&n);
for(i=11;i<=n;i++)
{
if(i<100)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
d=1;
}
}
if(d==0)
{
a=i/10;
b=i%10;
if(a==b)
{
c++;
}
}
}else if(i<=1000)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
d=1;
}
}
if(d==0)
{
a=i/100;
b=i%10;
if(a==b)
{
c++;
}
}
}
d=0;
}
printf("%lld",c);
return 0;
}