|
|
A352158
|
|
Numbers m such that the smallest digit in the decimal expansion of 1/m is 4, ignoring leading and trailing 0's.
|
|
8
|
|
|
22, 25, 144, 220, 225, 250, 1056, 1184, 1440, 2184, 2200, 2250, 2500, 10560, 11840, 14400, 15625, 20625, 21024, 21840, 22000, 22500, 25000, 104192, 105600, 115625, 118400, 144000, 156250, 168192, 179712, 206250, 210240, 213312, 218400, 220000
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
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: 22, 25, 144, 225, 1056, 1184, ...
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
m = 22 is a term since 1/22 = 0.045454545... and the smallest digit after the leading 0 is 4.
m = 1184 is a term since 1/1184 = 0.00084459459... and the smallest digit after the leading 0's is 4.
|
|
MATHEMATICA
|
f[n_] := Union[ Flatten[ RealDigits[ 1/n][[1]] ]]; Select[ Range@ 1100, Min@ f@# == 4 &]
|
|
PROG
|
(Python)
from itertools import count, islice
from sympy import multiplicity, n_order
def A352158_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)) == '4':
yield n
elif '0' not in s and min(str(c).lstrip('0')+s) == '4':
yield n
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|