%I #28 Jul 12 2022 21:30:46
%S 1140,1890,2280,2340,2610,2660,2700,2808,2880,2940,2970,3420,3480,
%T 3510,3540,3600,3654,3672,3780,3870,3920,3952,3990,4032,4140,4320,
%U 4368,4380,4410,4560,4590,4680,4740,4760,4770,4860,4896,4940,4950,5130,5220,5320,5400,5454
%N Numbers whose set of divisors contains every digit at least three times.
%C Every multiple of a term is also a term.
%H David A. Corneth, <a href="/A353066/b353066.txt">Table of n, a(n) for n = 1..10000</a>
%e The divisors of 1140 are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 19, 20, 30, 38, 57, 60, 76, 95, 114, 190, 228, 285, 380, 570, 1140. Digits tally from 0 to 9: 8, 10, 6, 4, 3, 6, 3, 3, 4, 3. The minimum is 3, thus, 1140 is in this sequence.
%p q:= n-> (p-> is(min(seq(coeff(p, x, j), j=0..9))>2))(add(x^i, i=
%p map(d-> convert(d, base, 10)[], [numtheory[divisors](n)[]]))):
%p select(q, [$10..5555])[]; # _Alois P. Heinz_, Apr 21 2022
%t Select[Range[10000], Length[Tally[Flatten[IntegerDigits[Divisors[#]]]]] == 10 && Min[Transpose[Tally[Flatten[IntegerDigits[Divisors[#]]]]][[2]]] >= 3 &]
%o (Python)
%o from sympy import divisors
%o def ok(n):
%o counts = [0]*10
%o for d in divisors(n, generator=True):
%o for di in str(d): counts[int(di)] += 1
%o if min(counts) > 2: return True
%o return False
%o print([k for k in range(5455) if ok(k)]) # _Michael S. Branicky_, Apr 21 2022
%o (PARI) upto(n) = { my(v = vector(n, i, -1)); for(i = 1, n, if(v[i] == -1, c = is(i); if(c == 1, v[i] = 1; for(j = 1, n\i, v[i*j] = 1; ) , v[i] = 0 ) ) ); Vec(select(x->x==1,v,1)) }
%o is(n) = { my(v = vector(10, i, 3), d = divisors(n), todo = 30, i, j); for(i = 1, #d, dd = digits(d[i]); for(j = 1, #dd, if(v[dd[j]+1] > 0, v[dd[j]+1]--; todo--; if(todo <= 0, return(1) ) ) ) ); 0 } \\ _David A. Corneth_, Jul 11 2022
%Y Cf. A059436 (at least n times).
%Y Subsequence of A095050 (at least once) and of A345390 (at least twice).
%K nonn,base
%O 1,1
%A _Tanya Khovanova_, Apr 21 2022