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.

A352156 Numbers m such that the smallest digit in the decimal expansion of 1/m is 2, ignoring leading and trailing 0's.

Original entry on oeis.org

4, 5, 16, 36, 40, 44, 45, 50, 108, 160, 216, 252, 288, 292, 308, 360, 364, 375, 396, 400, 404, 440, 444, 450, 500, 1024, 1080, 1375, 1600, 2072, 2160, 2368, 2520, 2880, 2920, 3080, 3125, 3375, 3600, 3640, 3750, 3848, 3960, 4000, 4040, 4125, 4224, 4368, 4400, 4440, 4500, 5000
Offset: 1

Views

Author

Keywords

Comments

Leading 0's are not considered, otherwise every integer >= 11 would be a term (see examples).
Trailing 0's are also not considered, otherwise numbers of the form 2^i*5^j with i, j >= 0, apart from 1 (A003592) would be terms.
If k is a term, 10*k is also a term; so, terms with no trailing zeros are all primitive terms.

Examples

			m = 16 is a term since 1/16 = 0.0625 and the smallest term after the leading 0 is 2.
m = 216 is a term since 1/216 = 0.004629629629... and the smallest term after the leading 0's is 2.
m = 4444 is not a term since 1/4444 = 0.00022502250225... and the smallest term after the leading 0's is 0.
		

Crossrefs

Cf. A341383.
Subsequences: A093141 \ {1}, A093143 \ {1}.
Similar with smallest digit k: A352154 (k=0), A352155 (k=1), this sequence (k=2), A352157 (k=3), A352158 (k=4), A352159 (k=5), A352160 (k=6), A352153 (no known term for k=7), A352161 (k=8), no term (k=9).

Programs

  • Mathematica
    f[n_] := Union[ Flatten[ RealDigits[ 1/n][[1]] ]]; Select[ Range@ 1100, Min@ f@# == 2 &]
  • Python
    from itertools import count, islice
    from sympy import multiplicity, n_order
    def A352156_gen(startvalue=1): # generator of terms >= startvalue
        for n in count(max(startvalue,1)):
            m2, m5 = multiplicity(2,n), multiplicity(5,n)
            k, m = 10**max(m2,m5), 10**(t := n_order(10,n//2**m2//5**m5))-1
            c = k//n
            s = str(m*k//n-c*m).zfill(t)
            if s == '0' and min(str(c)) == '2':
                yield n
            elif '0' not in s and min(str(c).lstrip('0')+s) == '2':
                    yield n
    A352156_list = list(islice(A352156_gen(),20)) # Chai Wah Wu, Mar 28 2022

Formula

A352153(a(n)) = 2.