From fa2ead090f9aa51544733221c6494efd3abe8ab6 Mon Sep 17 00:00:00 2001 From: unlockable Date: Mon, 25 Aug 2025 20:06:30 +0800 Subject: [PATCH] 20211a --- thu20211a_ans.cpp | 12 ++++++++++++ thu20211a_gen.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 thu20211a_ans.cpp create mode 100644 thu20211a_gen.cpp diff --git a/thu20211a_ans.cpp b/thu20211a_ans.cpp new file mode 100644 index 0000000..9a61c0f --- /dev/null +++ b/thu20211a_ans.cpp @@ -0,0 +1,12 @@ +#include + +int ans[] = { + 0,11,23,31,41,53,61,71,83,97,101,113,127,131,149,151,163,173,181,191,2011,211,223,233,241,251,263,271,281,293,307,311,3217,331,347,353,367,373,383,397,401,419,421,431,443,457,461,479,487,491,503,5113,521,5323,541,557,563,571,587,593,601,613,6211,631,641,653,661,673,683,691,701,719,727,733,743,751,761,773,787,797,809,811,821,839,8419,853,863,877,881,8923,907,911,929,937,941,953,967,971,983,991,1009 +}; + +int main() { + int in; + scanf("%d", &in); + printf("%d", ans[in]); + return 0; +} \ No newline at end of file diff --git a/thu20211a_gen.cpp b/thu20211a_gen.cpp new file mode 100644 index 0000000..13f1070 --- /dev/null +++ b/thu20211a_gen.cpp @@ -0,0 +1,47 @@ +#include + +int not_prime[1000000] = {0}; +// 0 -> prime, 1 -> prime + +int main() { + not_prime[0] = 1; + not_prime[1] = 1; + int i = 2; + while (i < 1000) { + if (not_prime[i] == 1) { + i++; + continue; + } + int cur = i * i; + while (cur < 1000000) { + not_prime[cur] = 1; + cur += i; + } + i++; + } + + for (int n = 1; n <= 100; n++) { + bool found = false; + for (int i = 1; i <= 9999; i += 2) { + int cat = 0; + if (i < 10) { + cat = n * 10 + i; + } else if (i < 100) { + cat = n * 100 + i; + } else if (i < 1000) { + cat = n * 1000 + i; + } else { + cat = n * 10000 + i; + } + if (!not_prime[cat]) { + printf("%d,", cat); + found = true; + break; + } + } + if (!found) { + printf("\n%d failed\n", n); + } + } + return 0; +} \ No newline at end of file