提供C语言的版本,其实比较容易,唯一容易错的点是1不是素数
#include
#include
int check(int n)
{
int i, flag = 1;
for(i = 2; i < (n/2 + 1); i++)
{
if((n%i) == 0)
{
flag = 0;
break;
}
}
return flag;
}
int main()
{
int L, R;
while(scanf("%d %d", &L,&R) != EOF)
{
int i, flag =0, output = 0, sum, temp1, temp2;
for(i = L; i <= R; i++)
{
sum = 0;
flag = check(i);
if(i > 1)
{
if(flag)
{
temp1 = i;
while(temp1)
{
temp2 = temp1%10;
sum = sum*10 + temp2;
temp1 = temp1/10;
}
if(i == sum)
output++;
}
}
}
printf("%d\n", output);
}
return 0;
}