[go: up one dir, main page]

login
A353066
Numbers whose set of divisors contains every digit at least three times.
1
1140, 1890, 2280, 2340, 2610, 2660, 2700, 2808, 2880, 2940, 2970, 3420, 3480, 3510, 3540, 3600, 3654, 3672, 3780, 3870, 3920, 3952, 3990, 4032, 4140, 4320, 4368, 4380, 4410, 4560, 4590, 4680, 4740, 4760, 4770, 4860, 4896, 4940, 4950, 5130, 5220, 5320, 5400, 5454
OFFSET
1,1
COMMENTS
Every multiple of a term is also a term.
LINKS
EXAMPLE
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.
MAPLE
q:= n-> (p-> is(min(seq(coeff(p, x, j), j=0..9))>2))(add(x^i, i=
map(d-> convert(d, base, 10)[], [numtheory[divisors](n)[]]))):
select(q, [$10..5555])[]; # Alois P. Heinz, Apr 21 2022
MATHEMATICA
Select[Range[10000], Length[Tally[Flatten[IntegerDigits[Divisors[#]]]]] == 10 && Min[Transpose[Tally[Flatten[IntegerDigits[Divisors[#]]]]][[2]]] >= 3 &]
PROG
(Python)
from sympy import divisors
def ok(n):
counts = [0]*10
for d in divisors(n, generator=True):
for di in str(d): counts[int(di)] += 1
if min(counts) > 2: return True
return False
print([k for k in range(5455) if ok(k)]) # Michael S. Branicky, Apr 21 2022
(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)) }
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
CROSSREFS
Cf. A059436 (at least n times).
Subsequence of A095050 (at least once) and of A345390 (at least twice).
Sequence in context: A027545 A357496 A113708 * A206112 A232133 A261572
KEYWORD
nonn,base
AUTHOR
Tanya Khovanova, Apr 21 2022
STATUS
approved