login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A373114
Cardinality of the largest subset of {1,...,n} such that no odd number of terms from this subset multiply to a square.
5
0, 1, 2, 2, 3, 3, 4, 5, 5, 5, 6, 7, 8, 9, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, 15, 16, 17, 18, 19, 19, 20, 20, 20, 21, 21, 21, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 31, 31, 31, 31, 32, 33, 34, 34, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 42, 43, 44, 45, 46, 46, 47
OFFSET
1,3
LINKS
Martin Ehrenstein, Table of n, a(n) for n = 1..550 (terms 72..181 calculated from A360659)
A. Granville and K. Soundararajan, The spectrum of multiplicative functions, Ann. Math. 153 (2001), 407-470; preprint, arXiv:math/9909190 [math.NT], 1999.
Terence Tao, On product representations of squares, arXiv:2405.11610 [math.NT], May 2024.
FORMULA
n-2*a(n) = A360659(n) (see Footnote 2 of the linked paper of Tao).
Asymptotically, a(n)/n converges to log(1+sqrt(e)) - 2*Integral_{t=1..sqrt(e)} log(t)/(t+1) dt = A246849 ~ 0.828499... (essentially due to Granville and Soundararajan).
a(n+1)-a(n) is either 0 or 1 for any n.
a(n) >= A055038(n).
EXAMPLE
For n=6, {2,3,5} is the largest set without an odd product being a square, so a(6)=3.
PROG
(Python)
import itertools
import sympy
def generate_all_completely_multiplicative_functions(primes):
combinations = list(itertools.product([-1, 1], repeat=len(primes)))
functions = []
for combination in combinations:
func = dict(zip(primes, combination))
functions.append(func)
return functions
def evaluate_function(f, n):
if n == 1:
return 1
factors = sympy.factorint(n)
value = 1
for prime, exp in factors.items():
value *= f[prime] ** exp
return value
def compute_minimum_sum(N: int):
primes = list(sympy.primerange(1, N + 1))
functions = generate_all_completely_multiplicative_functions(primes)
min_sum = float("inf")
for func in functions:
total_sum = 0
for n in range(1, N + 1):
total_sum += evaluate_function(func, n)
if total_sum < min_sum:
min_sum = total_sum
return min_sum
results = [(N - compute_minimum_sum(N)) // 2 for N in range(1, 12)]
print(", ".join(map(str, results)))
(Python)
from itertools import product
from sympy import primerange, primepi, factorint
def A373114(n):
a = dict(zip(primerange(n+1), range(c:=primepi(n))))
return n-min(sum(sum(e for p, e in factorint(m).items() if b[a[p]])&1^1 for m in range(1, n+1)) for b in product((0, 1), repeat=c)) # Chai Wah Wu, May 31 2024
(PARI)
F(n, b)={vector(n, k, my(f=factor(k)); prod(i=1, #f~, if(bittest(b, primepi(f[i, 1])-1), 1, -1)^f[i, 2]))}
a(n)={my(m=oo); for(b=0, 2^primepi(n)-1, m=min(m, vecsum(F(n, b)))); (n-m)/2} \\ adapted from Andrew Howroyd, Feb 16 2023 at A360659 by David A. Corneth, May 25 2024
CROSSREFS
Closely related to A360659, A372306, A373119, A373178, A373195.
Sequence in context: A238884 A066683 A055038 * A276796 A309093 A085268
KEYWORD
nonn
AUTHOR
Terence Tao, May 25 2024
EXTENSIONS
More terms from David A. Corneth, May 25 2024 using b-file from A360659 and formula n-2*a(n) = A360659(n)
STATUS
approved