%I #25 Feb 22 2024 11:36:50
%S 0,1,10,111,100,10,1110,111111,1000,111111111,10,11,11100,111111,
%T 1111110,1110,10000,1111111111111111,1111111110,111111111111111111,
%U 100,111111,110,1111111111111111111111,111000,100,1111110,111111111111111111111111111,11111100
%N Least positive multiple of n which when written in base 10 is either a repunit or of the form 1111....0000.
%C a(1017) has 1008 digits. - _Michael S. Branicky_, Feb 22 2024
%H Michael S. Branicky, <a href="/A244859/b244859.txt">Table of n, a(n) for n = 0..1016</a> (terms 101..936 from Robert Israel, terms 0..100 from Chai Wah Wu).
%H Chai Wah Wu, <a href="http://www.jstor.org/stable/10.4169/amer.math.monthly.121.06.529">Pigeonholes and repunits</a>, Amer. Math. Monthly, 121 (2014), 529-533.
%p A244859:= proc(n) local m,d2,d5;
%p d2:= padic:-ordp(n,2);
%p d5:= padic:-ordp(n,5);
%p m:= n/2^d2/5^d5;
%p 10^max(d2,d5)*(10^numtheory:-order(10,9*m)-1)/9
%p end proc:
%p A244859(0):= 0:
%p seq(A244859(n),n= 0..100); # _Robert Israel_, Jul 08 2014
%o (Python)
%o def a(n):
%o if n == 0: return 0
%o moddict = {0: 0}
%o for e in range(1, n+2):
%o repe = (10**e-1)//9
%o r = repe%n
%o if r in moddict:
%o return repe - moddict[r]
%o else:
%o moddict[r] = repe
%o print([a(n) for n in range(29)]) # _Michael S. Branicky_, Feb 22 2024
%Y Equal to A004290 for the first 7 terms.
%K nonn,base
%O 0,3
%A _Chai Wah Wu_, Jul 07 2014