题意
输入一个整数x( x ≤ 1 e 17 x \leq1e17 x≤1e17)。输出一个满足如下条件且不小于x的最小整数。
- 任意相邻的位差值相等
例如:234,369,86420,17,95,8,11,777
如下不满足:751,919,2022,246810,2356
set<ll> ans;
void gouzao()
{
for (int fi = 1; fi <= 9; fi++)//首位
for (int d = -9; d <= 8; d++)//公差
{
ll a = fi;
string s;
for (int i = 0; i < 18; i++)
{
s.push_back(a + '0');
ans.insert(stoll(s));
a += d;
if (a < 0 || a > 9) break;
}
}
}
int main()
{
ll x; cin >> x;
gouzao();
cout << *ans.lower_bound(x) << endl;
return 0;
}