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.

A275512 The consecutive sizes of the blocks of terms containing at least one digit "1" are given by the sequence itself.

This page as a plain text file.
%I A275512 #11 Aug 02 2016 08:44:39
%S A275512 1,2,3,4,5,6,7,8,9,10,11,20,12,13,14,22,15,16,17,18,23,19,21,31,41,51,
%T A275512 24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,42,43,44,45,46,47,48,
%U A275512 49,50,52,53,54,55,56,57,58,59,60,61,71,81,91,100,101,62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,88,89,90
%N A275512 The consecutive sizes of the blocks of terms containing at least one digit "1" are given by the sequence itself.
%C A275512 The sequence starts with a(1) = 1 and is extended with the smallest integer not yet used that does not lead to a contradiction.
%e A275512 The blocks of terms including at least a digit "1" are indicated here by parentheses; the successive block-sizes are 1, 2, 3, 4, 5,... which reproduces the sequence itself: (1),2,3,4,5,6,7,8,9,(10,11),20,(12,13,14),22,(15,16,17,18),23,(19,21,31,41,51),24...
%p A275512 isA011531 := proc(n)
%p A275512     nops(convert(convert(n,base,10),set) intersect {1}) > 0 ;
%p A275512     simplify(%) ;
%p A275512 end proc:
%p A275512 A011531_next := proc(n)
%p A275512     local a;
%p A275512     for a from n+1 do
%p A275512         if isA011531(a) then
%p A275512             return a;
%p A275512         end if;
%p A275512     end do:
%p A275512 end proc:
%p A275512 isA052383 := proc(n)
%p A275512     not isA011531(n) ;
%p A275512 end proc:
%p A275512 A052383_next := proc(n)
%p A275512     local a;
%p A275512     for a from n+1 do
%p A275512         if isA052383(a) then
%p A275512             return a;
%p A275512         end if;
%p A275512     end do:
%p A275512 end proc:
%p A275512 A275512grp1 := proc(a)
%p A275512     local idx1,n ;
%p A275512     idx1 := 0 ;
%p A275512     if isA052383(a) then
%p A275512         return 0;
%p A275512     end if;
%p A275512     for n from 1 do
%p A275512         if isA011531(A275512(n)) then
%p A275512             if n =1 then
%p A275512                 idx1 := 1;
%p A275512             elif isA052383(A275512(n-1)) then
%p A275512                 idx1 := idx1+1 ;
%p A275512             end if;
%p A275512         end if;
%p A275512         if A275512(n) = a then
%p A275512             return idx1 ;
%p A275512         end if;
%p A275512     end do:
%p A275512 end proc:
%p A275512 A275512 := proc(n)
%p A275512     option remember;
%p A275512     local a,aprev,prev1,grp1,d,seen,reqlen,npr;
%p A275512     if n =1 then
%p A275512         1;
%p A275512     else
%p A275512         for a from 2 do
%p A275512             seen := false;
%p A275512             for npr from 1 to n-1 do
%p A275512                 if procname(npr) = a then
%p A275512                     seen := true;
%p A275512                     break;
%p A275512                 end if;
%p A275512             end do:
%p A275512             if not seen then
%p A275512                 aprev := procname(n-1) ;
%p A275512                 if isA052383(aprev) then
%p A275512                     return a;
%p A275512                 else
%p A275512                     prev1 := 0 ;
%p A275512                     for d from 1 to n-1 do
%p A275512                         if isA011531(procname(n-d)) then
%p A275512                             prev1 := prev1+1 ;
%p A275512                         else
%p A275512                             break;
%p A275512                         end if;
%p A275512                     end do:
%p A275512                     grp1 := A275512grp1(aprev) ;
%p A275512                     reqlen := procname(grp1) ;
%p A275512                     if reqlen > prev1 then
%p A275512                         return A011531_next(aprev) ;
%p A275512                     elif n-prev1-1 > 0 then
%p A275512                         return A052383_next(procname(n-prev1-1)) ;
%p A275512                     else
%p A275512                         return 2 ;
%p A275512                     end if;
%p A275512                 end if;
%p A275512             end if;
%p A275512         end do;
%p A275512     end if;
%p A275512 end proc:
%p A275512 seq(A275512(n),n=1..100) ; # _R. J. Mathar_, Jul 31 2016
%Y A275512 Cf. A011531, A052383.
%K A275512 nonn,base,less
%O A275512 1,2
%A A275512 _Eric Angelini_, Jul 31 2016