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.

A038772 Numbers not divisible by any of their digits.

Original entry on oeis.org

23, 27, 29, 34, 37, 38, 43, 46, 47, 49, 53, 54, 56, 57, 58, 59, 67, 68, 69, 73, 74, 76, 78, 79, 83, 86, 87, 89, 94, 97, 98, 203, 207, 209, 223, 227, 229, 233, 239, 247, 249, 253, 257, 259, 263, 267, 269, 277, 283, 289, 293, 299, 307, 308, 323, 329, 334, 337, 338
Offset: 1

Views

Author

Henry Bottomley, May 04 2000

Keywords

Comments

A038769(a(n)) = 0; complement of A038770.
This is a regular language when written in decimal, though the minimal regular expression is probably thousands of characters long. - Charles R Greathouse IV, Aug 19 2011
Exponential density 0.954... = A104139. Asymptotically 8/35 * n^0.954... + O(n^0.903...) members up to n. - Charles R Greathouse IV, Jul 22 2012

Examples

			34 is divisible by neither 3 nor 4.
35 is excluded because 5 is a divisor of 35, but 37 is included because neither 3 nor 7 is a divisor of 37
		

Crossrefs

Cf. A327561 (counts), A038770 (complement).
Cf. also A034709, A034837, A038769.

Programs

  • Haskell
    import Data.Char (digitToInt)
    a038772 n = a038772_list !! (n-1)
    a038772_list = filter p [1..] where
       p n = all (> 0) $ map ((mod n) . digitToInt) $ filter (> '0') $ show n
    -- Reinhard Zumkeller, Jun 19 2011
    
  • Magma
    [k:k in [1..340]| forall{c:c in Set(Intseq(k)) diff {0}|k mod c ne 0}]; // Marius A. Burtea, Dec 22 2019
    
  • Mathematica
    nddQ[n_]:=Module[{idn=DeleteCases[IntegerDigits[n],0]},And@@Table[ !Divisible[n, idn[[i]]],{i,Length[idn]}]]; Select[Range[350],nddQ] (* Harvey P. Dale, Nov 01 2011 *)
  • 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(0))); 1 \\ Charles R Greathouse IV, Jul 22 2011
    
  • Python
    def ok(n): return not any(n%int(d) == 0 for d in str(n) if d != '0')
    print(list(filter(ok, range(1, 339)))) # Michael S. Branicky, May 20 2021

Extensions

Edited by N. J. A. Sloane, Nov 17 2008 at the suggestion of R. J. Mathar