CF171F ucyhf
题意
给定数 ,求第 个反素数(反素数定义为一个数 是素数,将其每一位反转后得到数 ,若 且 ,也就是 是素数时 是一个反素数)。
解法
暴力枚举即可,从小到大枚举每一个数进行判断即可。
代码:
#pragma GCC optimize("-Ofast")
#pragma GCC target("avx,sse,sse2,sse3,sse4")
#pragma unroll 10
#include <bits/stdc++.h>
using namespace std;
int n, cnt = 0;
inline bool pd(register const int &x)
{
if (x == 1) return false;
for (register int i = 2; i * i <= x; ++i)
{
if (x % i == 0) return false;
}
return true;
}
int main()
{
scanf("%d", &n);
for (register int i = 10; ; ++i)
{
if (!pd(i)) continue;
string s = to_string(i), p = s;
reverse(s.begin(), s.end());
if (s == p || !pd(stoi(s))) continue;
++cnt;
if (cnt == n)
{
printf("%d\n", i);
return 0;
}
}
return 0;
}

浙公网安备 33010602011771号