根据首位进行分类,进1凑质数即可
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ui = unsigned;
using ulll = unsigned __int128;
using lll = __int128;
using db = double;
using ldb = long double;
using b20 = bitset<20>;
const int Inf = 0x3f3f3f3f;
const ll Linf = 0x3f3f3f3f3f3f3f3fLL;
const db Dinf = 1e18;
const int Maxm = 400005;
const int Maxn = 10005;
const int MOD[] = {998244353, 1000000007};
#define endl '\n'
//------------------------------------------------------------------
void solve() {
string s;
cin >> s;
if (s[0] == '1') {
if (s.size() == 1) {
cout << 2 << endl;
return;
} else {
cout << 2;
for (ll i = 1; i < s.size(); ++i) cout << 0;
cout << endl;
return;
}
} else if (s[0] == '2') {
if (s.size() == 1) {
cout << 2 << endl;
return;
} else {
cout << 3;
for (ll i = 1; i < s.size(); ++i) cout << 0;
cout << endl;
return;
}
} else if (s[0] == '3') {
if (s.size() == 1) {
cout << 3;
cout << endl;
return;
} else {
cout << 4;
for (ll i = 1; i < s.size() - 1; ++i) cout << 0;
cout << 1 << endl;
return;
}
} else if (s[0] == '4') {
if (s.size() == 1) {
cout << 5 << endl;
return;
} else {
cout << 5;
for (ll i = 1; i < s.size(); ++i) cout << 0;
cout << endl;
return;
}
} else if (s[0] == '5') {
if (s.size() == 1) {
cout << 5;
cout << endl;
return;
} else {
cout << 6;
for (ll i = 1; i < s.size() - 1; ++i) cout << 0;
cout << 1 << endl;
return;
}
} else if (s[0] == '6') {
if (s.size() == 1) {
cout << 7;
cout << endl;
return;
} else {
cout << 7;
for (ll i = 1; i < s.size(); ++i) cout << 0;
cout << endl;
return;
}
} else if (s[0] == '7') {
if (s.size() == 1) {
cout << 7;
cout << endl;
return;
} else {
cout << 8;
for (ll i = 1; i < s.size() - 1; ++i) cout << 0;
cout << 3 << endl;
return;
}
} else if (s[0] == '8') {
if (s.size() == 1) {
cout << 11;
cout << endl;
return;
} else {
cout << 9;
for (ll i = 1; i < s.size() - 1; ++i) cout << 0;
cout << 2 << endl;
return;
}
} else {
if (s.size() == 1) {
cout << 11;
cout << endl;
return;
} else {
cout << 10;
for (ll i = 1; i < s.size() - 1; ++i) cout << 0;
cout << 1 << endl;
return;
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll _;
cin >> _;
while (_--) solve();
return 0;
}cpp

京公网安备 11010502036488号