算法
(暴力枚举) $O(\sqrt{n})$
虽然 $n$ 很大,但重复的位数最大只有 $6$ 位,所以可以暴力枚举出来。
比如:
1 2 3 4 ... 10 11 ... 100 101 ...
11 22 33 44 ... 1010 1111 ... 100100 101101 ...
C++ 代码
#include <bits/stdc++.h>
using std::cin;
using std::cout;
using std::string;
using ll = long long;
ll f(ll x) {
string s = std::to_string(x);
return stoll(s + s);
}
int main() {
ll n;
cin >> n;
ll x = 1;
while (f(x) <= n) ++x;
ll ans = x - 1;
cout << ans << '\n';
return 0;
}