P1217这样做算打表吗?
  • 板块灌水区
  • 楼主__KevinMZ__
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/12/12 16:12
  • 上次更新2024/12/13 12:48:26
查看原帖
P1217这样做算打表吗?
1358215
__KevinMZ__楼主2024/12/12 16:12
#include <iostream>
#include <cmath>
using namespace std;
int l, r;
bool in(int x) {
	return l <= x && r >= x;
}
bool check(int x)
{
	if (x == 2) return 1;
	for (int i = 2; i <= sqrt(x); i++)
		if (x % i == 0) return 0;
	return 1;
}
int main() {
	cin >> l >> r;
	if (in(5))cout << "5\n";
	if (in(7))cout << "7\n";
	if (in(11))cout << "11\n";
	for (int i = max(l,101);i <= r;i++) {
		if (i & 1) {
			if (i >= 1000 && i <= 9999)i = 9999;
			if (i >= 100000 && i <= 999999)i = 999999;
			if (i >= 10000000 && i <= 99999999)i = 99999999;
			if (i >= 1000 && i <= 9999 || i >= 100000 && i <= 999999 || i >= 10000000 && i <= 99999999)continue;
			if (i >= 100 && i <= 999) {
				if (i / 100 == i % 10 && check(i)) {
					cout << i << "\n";
				}
			}
			if (i >= 10000 && i <= 99999) {
				if (i / 10000 == i % 10 && i / 1000 % 10 == i / 10 % 10 && check(i)) {
					cout << i << "\n";
				}
			}
			if (i >= 1000000 && i <= 9999999) {
				if (i / 1000000 == i % 10 && i / 100000 % 10 == i / 10 % 10 && i / 10000 % 10 == i / 100 % 10 && check(i)) {
					cout << i << "\n";
				}
			}
		}
	}
	return 0;
}
2024/12/12 16:12
加载中...