
#include <stdio.h>
#include<math.h>
#include <stdbool.h> //在OJ平台上使用bool类型时需要引入这个头文件,不然会出现编译错误
bool issu(int x)
{
if (x <= 1) return false;//0和1不是素数,一定要注意判断
int i;
int p = sqrt(x);
for(i=2;i<=p;i++)
{
if(x%i == 0) break;
}
if(i > p) return true;
else return false;
}
bool ishui(int num)
{
if (num < 0) return false;//负数不是回文数
int original = num, reversed = 0;
while (num > 0)
{
reversed = reversed * 10 + num % 10;
num /= 10;
}
return original == reversed; //如果这两个数相等,返回true
}
int main() {
int t;
scanf("%d",&t);
while(t--)
{
int a,b;
scanf("%d %d",&a,&b);
bool hasFound = false;
for(int i=a+1;i<b;i++)//在(a,b)内进行判断
{
if(issu(i) && ishui(i))
{
printf("%d\n",i);
hasFound = true;
}
}
if(!hasFound) printf("Not found\n");
}
return 0;
}
0和1不是素数,负数不是回文数,要注意判断,否则会出现“部分正确”的情况。
素数与回文数判断注意点
1638

被折叠的 条评论
为什么被折叠?



