题目描述
如果一个整数只能被1和自己整除,就称这个数是素数。
如果一个数正着反着都是一样,就称为这个数是回文数。例如:6, 66, 606, 6666
如果一个数字既是素数也是回文数,就称这个数是回文素数
牛牛现在给定一个区间[L, R],希望你能求出在这个区间内有多少个回文素数。
输入描述:
输入包括一行,一行中有两个整数(1 ≤ L ≤ R ≤ 1000)
输出描述:
输出一个整数,表示区间内回文素数个数。
示例1
输入
100 150
输出
2
#include <stdio.h>
int main()
{
int L = 0, R = 0;
int i, j, tag = 0;
int num = 0;
scanf("%d", &L);
scanf("%d", &R);
for (i = L; i <= R; i++)
{
tag = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
tag = 1;
break;
}
}
if (tag == 0)
{
if (i < 10)num++;
else if (i >= 10 && i < 100)
{
if (i / 10 == i % 10)num++;
}
else if (i >= 100 && i < 1000)
{
if (i / 100 == i % 10)num++;
}
}
}
if (L == 1)num--;
printf("%d", num);
return 0;
}