login
Self-consecutive numbers: numbers m such that there exists a nonnegative integer k for which the concatenation of m, m+1, ..., m+k is an m-digit number.
3

%I #38 Sep 21 2024 02:31:03

%S 1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,

%T 44,46,48,50,52,54,56,58,60,62,64,66,102,105,108,111,114,117,120,123,

%U 126,129,132,135,138,141,144,147,150,153,156,159,162,165,168

%N Self-consecutive numbers: numbers m such that there exists a nonnegative integer k for which the concatenation of m, m+1, ..., m+k is an m-digit number.

%C Let d be the number of digits of m (in base 10). One can show that the number m is a member of this sequence if and only if:

%C 1) m is divisible by d AND m < 10^d * d/(d+1)

%C OR

%C 2) 10^d is divisible by d+1 AND m >= 10^d * d/(d+1).

%C Equivalently, integers m in the block 10^(d-1) <= m < 10^d are included in this sequence based on their relation to the value s = 10^d * d/(d+1). If m < s, then m is in this sequence iff m is divisible by d. If m >= s, m is in this sequence iff s is an integer. Note that for d = 2, s = 66.666... so no integers m in the range 66.666... <= m < 100 are in this sequence. For d = 3, s = 750 is an integer so all integers m in the range 750 <= m < 1000 are in this sequence. - _Dominic McCarty_, Sep 09 2024

%H Dominic McCarty, <a href="/A375461/b375461.txt">Table of n, a(n) for n = 1..10000</a>

%e 7 is a term because if we concatenate 7, 8, 9, 10, and 11, we get 7891011, which has 7 digits.

%e 102 is a term because we can concatenate 102 with the next 33 consecutive integers to get a number with 34*3 = 102 digits.

%e 68 is not a term because if we concatenate 68,69,...,100 we get a 67-digit number and concatenating 101 with this yields a 70-digit number, so it is not possible to achieve a 68-digit number.

%t SelfConsecutiveQ[n_] :=

%t Module[{len = Length@IntegerDigits[n], counter = 1, numDigits = 0},

%t If[len*(Power[10, len] - n) >= n, Return[Mod[n, len] == 0],

%t numDigits = len*(Power[10, len] - n)];

%t Mod[n - numDigits, len + 1] == 0

%t ]

%t Select[Range[1000], SelfConsecutiveQ[#] &]

%o (JavaScript) function next(m){let d=(""+m).length;if(m*(d+1)<d*(10**d)){m-=m%d;if((m+d)*(d+1)>d*(10**d)){return next(10**d)}else{return m+d}}else{if((10**d)%(d+1)==0){return m+1}else{return next(10**d)}}}let m=0;a="";while(m<168){m=next(m);a+=m+", "}console.log(a) // _Dominic McCarty_, Sep 09 2024

%Y Cf. A035333 (concatenations), A375590.

%K easy,nonn,base

%O 1,2

%A _Nicholas M. R. Frieler_, Aug 17 2024