题目背景
对应的选择、判断题:试题 - GESP 四级样题(C++ 组) - 洛谷有题
题目描述
如果一个两位数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如 13。给定两个正整数 A,B,请求出大于等于 A、小于等于 B 的所有绝对素数。
输入格式
输入 1 行,包含两个正整数 A 和 B。保证 10<A<B<100。
输出格式
若干行,每行一个绝对素数,从小到大输出。
输入输出样例
输入 #1复制
11 20
输出 #1复制
11
13
17
代码实现:
cpp
#include <iostream>
using namespace std;
bool isPrime(int x) {
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) return false;
}
return true;
}
int main() {
int a, b;
cin >> a >> b;
for (int i = a; i <= b; i++) {
int shi = i / 10;
int ge = i % 10;
int rev = ge * 10 + shi;
if (isPrime(i) && isPrime(rev)) {
cout << i << endl;
}
}
return 0;
}