|
|
A346971
|
|
Smallest c which can be split into positive parts a and b with a+b=c, such that the divisors of a,b,c cover all numbers up to n.
|
|
2
|
|
|
2, 3, 4, 8, 10, 12, 24, 45, 54, 88, 120, 182, 182, 360, 540, 1326, 1326, 3990, 5040, 5040, 5040, 9282, 9282, 25200, 25200, 65208, 65208, 118800, 118800, 651456, 651456, 651456, 651456, 651456, 651456, 2314200, 2314200, 2314200, 2314200, 16365396, 16365396
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
2,1
|
|
COMMENTS
|
a(37)..a(40) <= 2314200 via 1062048 + 1252152 = 2314200. - David A. Corneth, Aug 11 2021
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
a(5) = 8, 3+5=8, divisors of 3, 5, and 8 are {1,3}, {1,5}, and {1,2,4,8}, which covers all of {1,2,3,4,5}.
a(9) = 45, 21+24=45, divisors of 21, 24, and 45 are {1,3,7,21}, {1,2,3,4,6,8,12,24}, and {1,3,5,9,15,45}, which covers all of {1,2,3,4,5,6,7,8,9}.
|
|
MATHEMATICA
|
a[1]=1; a[n_]:=(k=1; While[Length@Select[Union@*Flatten@*Divisors/@(Join[{k}, #]&/@Rest@IntegerPartitions[k, 2]), SubsetQ[#, Range@n]&]<1, k++]; k); Array[a, 16] (* Giorgos Kalogeropoulos, Aug 13 2021 *)
|
|
PROG
|
(Python)
from sympy import divisors
from itertools import count
def cond(a, b, c, n):
return set(divisors(a)+divisors(b)+divisors(c)) >= set(range(1, n+1))
def a(n):
if n == 1: return 1
for c in count(1):
for a in range(1, c//2+1):
if cond(a, c-a, c, n): return c
(Python)
c, nlist = 1, list(range(1, n+1))
while True:
mlist = [m for m in nlist if c % m]
if len(mlist) == 0: return c
p = max(mlist)
for a in range(p, c, p):
for m in mlist:
if a % m and (c-a) % m:
break
else:
return c
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,more
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|