题目描述
输出指定范围内的同时是素数与回文数的数据,如果没有,输出“Not found”
#include<stdio.h>
int main()
{
int t;
scanf_s("%d", &t);
while (t--)
{
int a, b;
int sum = 0;
int x, y ;
int n;
scanf_s("%d%d", &a, &b);
for ( n = a; n <= b; n++)//a为下限,b为上限
{
x = n;
y = 0;//注意y要在这里面赋值为0,在for循环外面赋值的话y的值会有所改变
while (x > 0)
{
y = y * 10 + x % 10;
x = x / 10;
}
//求是否为回文数
if (y == n)//当y==n,即满足该数为回文数的前提下
{
int m;
int s = n;
for (m = 2; m < s; m++)//从2开始到s-1(因为素数只能被1和它本身整除)
{
if (s%m == 0)break;//如果能被i整除,用break终止这个循环体,执行下面的程序语句
}
if (m == n)//只有当m==n本身时候才是素数
{
printf("%d\n", y);
sum++;//统计既是回文数也是素数的个数
}
}
}
if (sum == 0)//当两个整数区间没有既是回文数又是素数的时候
{
printf("Not found\n");
}
}
return 0;
}