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.

Showing 1-2 of 2 results.

A203565 Numbers that contain the product of any two adjacent digits as a substring.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 30, 31, 40, 41, 50, 51, 60, 61, 70, 71, 80, 81, 90, 91, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 126, 130, 131, 140, 141, 150, 151
Offset: 1

Views

Author

M. F. Hasler, Jan 03 2012

Keywords

Comments

Inspired by the problem restricted to pandigital numbers suggested by E. Angelini (cf. link).
E. Angelini observes that up to a(86) this is the same as "Numbers that contain the product of (all) their digits as a substring" (cf. A227510 for the zeroless terms); then 212 is here but not there, and 236 is there and not here. - M. F. Hasler, Oct 14 2014

Examples

			Any number having no two adjacent digits larger than 1 is trivially in the sequence.
The smallest nontrivial example is the number 126, which is in the sequence since 1*2=2 and 2*6=12 are both substrings of "126".
		

Crossrefs

Cf. A203569 (digits are permutations of 0...n).
Cf. A227510 (product of all digits is a substring and > 0).

Programs

  • Maple
    filter:= proc(n)
    local L,S,i;
    S:= convert(n,string);
    for i from 1 to length(S)-1 do
      if StringTools:-Search(convert(parse(cat(S[i],"*",S[i+1])),string),S) = 0 then
          return false
      fi
    od:
    true
    end proc:
    select(filter, [$0..1000]); # Robert Israel, Oct 15 2014
  • Mathematica
    d[n_] := IntegerDigits[n]; Select[Range[0, 151], And @@ Table[MemberQ[FromDigits /@ Partition[d[#], IntegerLength[k], 1], k], {k, Times @@@ Partition[d[#], 2, 1]}] &] (* Jayanta Basu, Aug 10 2013 *)
  • PARI
    has(n,m)={ my(p=10^#Str(m)); until( m>n\=10, n%p==m & return(1))}
    is_A203565(n)={ my(d); for(i=2,#d=eval(Vec(Str(n))), has(n,d[i]*d[i-1]) | return);1 }
    is_A203565(n)={ my(d=Vecsmall(Str(n))); for(i=2,#d, d[i]<50 & i++ & next; has(n,d[i-1]%48*(d[i]-48)) | return);1 } /* twice as fast */
    for( n=0,999, is_A203565(n) & print1(n","))

A227510 Numbers such that product of digits of n is positive and a substring of n.

Original entry on oeis.org

1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 31, 41, 51, 61, 71, 81, 91, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 126, 131, 141, 151, 153, 161, 171, 181, 191, 211, 236, 243, 311, 315, 324, 362, 411, 511, 611, 612
Offset: 1

Views

Author

Jayanta Basu, Jul 14 2013

Keywords

Comments

All numbers with at least one zero digit have a product of digits which is a substring; these have been kept out by the restriction on positivity.
The sequence is infinite: if n is a term 10n+1 is also a term. Are there any other patterns (except for prepending 1 to any term)? - Zak Seidov, Jul 24 2013
You can also insert 1 in any position outside the substring that gives the product of digits. - Robert Israel, Aug 26 2014
See also A203566 for a nontrivial subsequence of A203565. The zeroless members of the latter differ from this sequence from 212 on which is there but not here, while 236 is the first here but not there. - M. F. Hasler, Oct 14 2014

Examples

			The product of the digits of 236 is 36, a substring of 236, and hence 236 is a member.
		

Crossrefs

Programs

  • Maple
    filter:= proc(n)
      local L;
      L:= convert(n,base,10);
      if has(L,0) then return false fi;
      verify(convert(convert(L,`*`),base,10),L,'sublist');
    end proc:
    select(filter, [$1..1000]); # Robert Israel, Aug 26 2014
  • Mathematica
    Select[Range[650], FreeQ[x = IntegerDigits[#], 0] && MemberQ[FromDigits /@ Partition[x, IntegerLength[y = Times @@ x], 1], y] &]
  • PARI
    {isok(n)=d=digits(n);p=prod(i=1,#d,d[i]);k=1;while(p&&k<=(#d-#digits(p)+1),v=[];for(j=k,k+#digits(p)-1,v=concat(v,d[j]));if(v==digits(p),return(1));k++);return(0);}
    n=1;while(n<10^4,if(isok(n),print1(n,", "));n++) \\ Derek Orr, Aug 26 2014
    
  • PARI
    is_A227510(n)={(t=digits(prod(i=1,#n=digits(n),n[i])))&&for(i=0,#n-#t,vecextract(n,2^(i+#t)-2^i)==t&&return(1))} \\ M. F. Hasler, Oct 14 2014
  • Python
    from operator import mul
    from functools import reduce
    A227510 = [int(n) for n in (str(x) for x in range(1, 10**5)) if not n.count('0') and str(reduce(mul, (int(d) for d in n))) in n]
    # Chai Wah Wu, Aug 26 2014
    

Extensions

Edited by M. F. Hasler, Oct 14 2014
Showing 1-2 of 2 results.