cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A167451 Smallest sequence which lists the position of digits "9" in the sequence.

This page as a plain text file.
%I A167451 #8 Jul 27 2024 12:33:30
%S A167451 2,9,10,11,12,99,990,1000,1001,1002,1003,1004,1005,1006,1007,1008,
%T A167451 1010,1011,1012,1013,1014,1015,1016,1017,1018,1020,1021,1022,1900,
%U A167451 2000,2001,2002,2003,2004,2005,2006,2007,2008,2010,2011,2012,2013,2014,2015,2016
%N A167451 Smallest sequence which lists the position of digits "9" in the sequence.
%C A167451 The lexicographically earliest sequence such that a(1),a(2),a(3),... is the (increasing) list of the positions of digits "9" in the string obtained by concatenating all these terms, written in base 10.
%e A167451 We cannot have a(1)=1 (since then there's no "9" in the first place), but a(1)=2 is possible.
%e A167451 This implies that a(2) must start with a digit "9", so a(2)=9 is the smallest possible choice.
%e A167451 This allows us to go on with a(3)=10, a(4)=11, a(5)=12, but then must be follow 4 digits "9" (the 9th through 12th digit of the sequence), so a(6)=99 and a(7)=990 are the smallest possible choices.
%e A167451 Then the reasoning continues in analogy with A167450-A167457.
%o A167451 (PARI) concat([ [2,9,10,11,12,99,990], vector((99-11-1)\4,i,1000-(i<=9)+i+(i>=19)), [1900], select(x->x%10-9 & x\10%10-9,vector((990-99)\4,i,2000-1+i)) ])
%o A167451 /* The following code checks a sequence for consistency (i.e., the given digit occurs exactly at positions given by the terms), but it does not check the monotonicity neither the minimality.
%o A167451 In case of a contradiction, it returns [n,pos,d] where n is the index of the term, pos is the position in the concatenation, and d is the digit for which the contradiction occurred.
%o A167451 If d is different from the given digit, the term a(n) said that there should be that digit at position pos, but we found d instead.
%o A167451 If d equals the given digit, we found d at position pos, but the term a(n) said that the next d should occur elsewhere. */
%o A167451 check_self(a,d=9)={ my(t=Vecsmall(concat(concat([""],a))),c=0); d+=48;
%o A167451 for( i=1,#a, a[i]>#t & break; t[a[i]]==d || return([i,a[i],t[a[i]]-48]));
%o A167451 for( i=1,#t, t[i]==d & (a[c++ ]==I || return([c,i,d-48]))) /* no contradiction => empty result */}
%Y A167451 Cf. A098645, A167519, A167520, A167450 - A167457.
%K A167451 base,nonn
%O A167451 1,1
%A A167451 _M. F. Hasler_, Nov 19 2009