ans

Thanos 2020-08-06 16:59:25 5 返回题目

#include <bits/stdc++.h>

using namespace std;

long long ans[1000000];

bool pd(long long x) {

if (x <= 1)
	return false;
for (int i = 2; i * i <= x; ++i)
	if (x % i == 0)
		return false;
return true;			

}

int main()

{

long long a, b;

cin >> a >> b;
int tot = 0;
for (long long i = 1; i <= 9999; ++i) {
	
	// i + r(i)
	// i + (0 ~ 9) + r(i)
	long long value = i, x = i;
	while (x > 0) {
		value = value * 10 + x % 10;
		x /= 10;
	}
	if ( value >=a && value <= b && pd(value))  {
		tot ++;
		ans[tot] = value;
	}
	
	for (long long k = 0; k <= 9; ++k) {
		long long value = i * 10 + k, x = i;
		while (x > 0) {
			value = value * 10 + x % 10;
			x /= 10;
		}
		if ( value >=a && value <= b && pd(value) )  {
			tot ++;
			ans[tot] = value;
		}
	}
}
for (long long i = 2; i <= 7; ++i)
if (pd(i) && a <= i && i <= b)
{
	tot++;
	ans[tot] = i;
}
sort(ans+ 1, ans + tot + 1);
for (int i = 1; i <= tot; ++i)
	printf("%d\n", ans[i]);
return 0;

}

{{ vote && vote.total.up }}