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.

A333402 Numbers m such that the largest digit in the decimal expansion of 1/m is 1.

Original entry on oeis.org

1, 9, 10, 90, 99, 100, 900, 909, 990, 999, 1000, 9000, 9009, 9090, 9900, 9990, 9999, 10000, 90000, 90009, 90090, 90900, 90909, 99000, 99900, 99990, 99999, 100000, 900000, 900009, 900090, 900900, 909000, 909090, 990000, 990099, 999000, 999900, 999990, 999999, 1000000
Offset: 1

Views

Author

Bernard Schott, Mar 19 2020

Keywords

Comments

If m is a term, 10*m is also a term.
If m is a term then m has only digits {1}, {9}, {1,0} or {9,0} in its decimal representation, but this is not sufficient to be a term (see examples).
Some subsequences below (not exhaustive, see crossrefs):
m = 10^k, k >= 0, hence m is in A011557 = {1, 10, 100, 1000, 10000, ...};
m = 9*10^k, k >= 0, hence m is in A052268 = {9, 90, 900, 9000, 90000, ...};
m = 10^k-1, k >= 1, hence m is in A002283 = {9, 99, 999, 9999, 99999, ...};
m = 9*(10^k+1), k >= 1, hence m is in 9*A000533 = {99, 909, 9009, 90009, ...};
m = 9+100*(100^k-1)/11, k >= 0, hence m is in 9*A094028 = {9, 909, 90909, 9090909, ...}.

Examples

			As 1/101 = 0.009900990099..., 101 is not a term.
As 1/909 = 0.001100110011..., 909 is a term.
As 1/9099 = 0.000109902187..., 9099 is not a term.
As 1/9999 = 0.000100010001..., 9999 is also a term.
		

Crossrefs

Cf. A333236, A333237 (similar, with 9).
Subsequences: A002283, A011557, A052268.
Subsequences: 9*A000533, 9*A094028, 9*A135577, 9*A261544, 9*A330135.

Programs

  • Mathematica
    Select[Range[10^4], Max @ RealDigits[1/#][[1]] == 1 &] (* Amiram Eldar, Mar 19 2020 *)
  • Python
    from itertools import count, islice
    def A333402_gen(startvalue=1): # generator of terms >= startvalue
        for m in count(max(startvalue,1)):
            k = 1
            while k <= m:
                k *= 10
            rset = {0}
            while True:
                k, r = divmod(k, m)
                if max(str(k)) > '1':
                    break
                else:
                    if r in rset:
                        yield m
                        break
                rset.add(r)
                k = r
                while k <= m:
                    k *= 10
    A333402_list = list(islice(A333402_gen(),30)) # Chai Wah Wu, Feb 17 2022

Formula

A333236(a(n))= 1.

Extensions

More terms from Jinyuan Wang, Mar 19 2020