%I #7 May 24 2023 17:19:32
%S 100559404366,1,28263827,371599983,499999984,5555555555,6666666666,
%T 7777777777,8888888888,9999999999,
%U 109999999999999999999999999999999999999999999999999999999999999999999999999999999999999999810
%N a(n) is the smallest number x such that the decimal representation of n appears as a substring of the decimal representations of the numbers [1...x] >= x times.
%C Starting from n = 2, a(n) = min(A163500,A164321).
%H IBM Corp., <a href="http://domino.research.ibm.com/Comm/wwwr_ponder.nsf/challenges/April2004.html">April 2004 "Ponder This" challenge</a>.
%H Tanya Khovanova and Gregory Marton, <a href="https://arxiv.org/abs/2305.10357">Archive Labeling Sequences</a>, arXiv:2305.10357 [math.HO], 2023. See p. 6.
%H <a href="http://www.tkachenko.com/blog/archives/000324.html">Yet another Google puzzle</a>
%t cz[n_, k_] := Floor[n/10^k] 10^(k - 1) + (Ceiling[Floor[n/10^(k - 1)]/10] - Floor[Floor[n/10^(k - 1)]/10] - 1) (10^(k - 1) - Mod[n, 10^(k - 1)] - 1) countZeroes[n_] := (z = 0; k = 1; len = Length[IntegerDigits[n]]; While[k < len, z = z + cz[n, k]; k++ ]; z) c = 8; d = 16; While[d - c > 1 , If[countZeroes[d] >= c, d = (c + d)/2, {c, d} = {d, d + 2 d - 2 c}]]; While[ countZeroes[c] < c, c++ ]; Print[c] countAny[n_, anyK_] := (z = 0; lenK = Length[IntegerDigits[anyK]]; len = Length[IntegerDigits[n]]; k = lenK;
%t While[k <= len, middle = Mod[Floor[n/10^(k - lenK)], 10^lenK]; If [middle > anyK, z = z + ( Floor[n/10^k] + 1) 10^(k - lenK)]; If[middle < anyK, z = z + Floor[n/10^k] 10^(k - lenK)]; If[middle == anyK, z = z + Floor[n/10^k] 10^(k - lenK) + Mod[n, 10^(k - lenK)] + 1]; k++ ]; z) i = 1; c = 8; d = 16; While[i < 20, While[d - c > 1 , If[countAny[d, i] >= c, d = (c + d)/2, {c, d} = {d, d + 2 d - 2 c}]]; While[countAny[c, i] < c, c++ ]; Print[c]; d = c + 8; i++ ]
%Y Cf. A163500, A164321, A092175.
%K base,nonn,uned
%O 0,1
%A Tanya Khovanova and _Gregory Marton_, Aug 31 2009