

A038770


Numbers divisible by at least one of their digits.


12



1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 30, 31, 32, 33, 35, 36, 39, 40, 41, 42, 44, 45, 48, 50, 51, 52, 55, 60, 61, 62, 63, 64, 65, 66, 70, 71, 72, 75, 77, 80, 81, 82, 84, 85, 88, 90, 91, 92, 93, 95, 96, 99, 100, 101, 102
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,2


COMMENTS

The decimal digit strings of this sequence are a regular language, since it is the union of A011531 and A121022 .. A121029 which are likewise regular languages. Some computer state machine manipulation for this union shows a minimum deterministic finite automaton (DFA) matching the digit strings of this sequence has 11561 states. Reversing strings (so least significant digit first) reduces to 1699 states, or reverse and allow high 0's (which become trailing 0's due to the reverse) reduces to 1424 states. The latter are tractable sizes for the linear recurrence in A327560.  Kevin Ryde, Dec 04 2019


LINKS



FORMULA



EXAMPLE

35 is included because 5 is a divisor of 35, but 37 is not included because neither 3 nor 7 is a divisor of 37.


MATHEMATICA

Select[Range[110], MemberQ[Divisible[#, Cases[IntegerDigits[#], Except[0]]], True]&] (* Harvey P. Dale, Jun 20 2011 *)


PROG

(Haskell)
a038770 n = a038770_list !! (n1)
a038770_list = filter f [1..] where
f u = g u where
g v = v > 0 && (((d == 0  r > 0) && g v')  r == 0)
where (v', d) = divMod v 10; r = mod u d
(PARI) is(n)=my(v=vecsort(eval(Vec(Str(n))), , 8)); for(i=if(v[1], 1, 2), #v, if(n%v[i]==0, return(1))); 0 \\ Charles R Greathouse IV, Jul 22 2011
(Python)
def ok(n): return any(n%int(d) == 0 for d in str(n) if d != '0')


CROSSREFS



KEYWORD

base,easy,nonn,nice


AUTHOR



STATUS

approved



