2434: 【普及-】【P1217】回文质数

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

因为 lns="http://www.w3.org/1998/Math/MathML">151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 lns="http://www.w3.org/1998/Math/MathML">151 是回文质数。

写一个程序来找出范围 lns="http://www.w3.org/1998/Math/MathML">[,](5<100,000,000)(一亿)间的所有回文质数。

输入

第一行输入两个正整数 lns="http://www.w3.org/1998/Math/MathML"> 和 lns="http://www.w3.org/1998/Math/MathML">

输出

输出一个回文质数的列表,一行一个。

样例输入 复制

5 500

样例输出 复制

5
7
11
101
131
151
181
191
313
353
373
383

提示

#include<bits/stdc++.h>
using namespace std;
bool is_prime(int x){
	if (x==1|| x==0) return 0; 
	for (int i=2;i*i<=x;i++){
		if (x%i==0)
			return 0;
	}
	return 1;
}
int main() {
	int a, b;
	scanf("%d%d", &a, &b);
	for(int i = 5; i <= 100000; i ++) {
		if(i == 9 && a <= 11 && b >= 11) puts("11");
		int tmp = i/10, ans = i;
		while(tmp > 0) {
			ans *= 10;
			ans = ans + tmp%10;
			tmp /= 10;
		}
		if(ans > b) break;
		if(ans >= a && is_prime(ans)) printf("%d\n", ans);
	}
	return 0;
}