login
Numbers whose set of divisors contains every digit at least three times.
1

%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