编程任务编号 O: 回文素数(基础版)

编程任务编号 O: 回文素数(基础版)

任务描述

11是一个回文素数.因为它不仅是素数,同时还是回文数(回文数,即把一个数字正着读或者倒着读都是一样的,如121,1331等都是回文数). 现在写一个程序把a的b之间所有的回文素数都找出来(2≤a<b≤1000,000).

输入

第一行,一个整数N(N<10) 以下N行,每行两个整数a,b.

输出

输出回文素数的列表,每行一个,按从小到大的顺序输出.

输入举例

1
5 200

输出举例

5
7
11
101
131
151
181
191
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
int T,a,b,i,j,c;
int hui(int x){
    int ans=0;
    while(x){
       ans=10*ans+x%10;
       x/=10;
    }
    return ans;
}
bool prime(int x){
    int i;
    for(i=2;i<=sqrt(x);i++)
        if(x%i==0)  return false;
    return true;
}
int main(){
    scanf("%d",&T);
    while(T--){
        scanf("%d%d",&a,&b);
        for(i=a;i<=b;i++){
            if(hui(i)==i){
                if(prime(i))
                   printf("%d\n",i);
            }
        }
    }
}
发布了118 篇原创文章 · 获赞 85 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/c_lanxiaofang/article/details/103464493