login
A336175
Numbers k such that there are no powerful numbers between k^2 and (k+1)^2.
7
1, 3, 4, 6, 7, 9, 12, 13, 17, 21, 23, 24, 26, 27, 30, 32, 34, 35, 38, 40, 43, 47, 49, 54, 60, 61, 64, 66, 68, 69, 71, 75, 80, 81, 85, 86, 91, 95, 97, 99, 105, 106, 108, 112, 120, 123, 125, 128, 131, 133, 136, 137, 139, 142, 143, 151, 153, 154, 159, 160, 162, 163
OFFSET
1,2
COMMENTS
Positions of 0's in A119241.
Shiu (1980) proved that this sequence has an asymptotic density 0.2759... A more accurate calculation using his formula gives 0.275965511407718981...
REFERENCES
József Sándor, Dragoslav S. Mitrinovic and Borislav Crstici, Handbook of Number Theory I, Springer Science & Business Media, 2005, chapter VI, p. 226.
LINKS
P. Shiu, On the number of square-full integers between successive squares, Mathematika, Vol. 27, No. 2 (1980), pp. 171-178.
FORMULA
a(n) ~ k*n, where k = 3.623641211175... is the inverse of the density, see Shiu link. - Charles R Greathouse IV, Oct 31 2022
EXAMPLE
1 is a term since the two numbers between 1^2 = 1 and (1+1)^2 = 4, 2 and 3, are not powerful.
2 is not a term since there is a powerful number, 8 = 2^3, between 2^2 = 4 and (2+1)^2 = 9.
MATHEMATICA
powQ[n_] := (n == 1) || Min @@ FactorInteger[n][[;; , 2]] > 1; Select[Range[150], ! AnyTrue[Range[#^2 + 1, (# + 1)^2 - 1], powQ] &]
PROG
(PARI) is(n)=forfactored(k=n^2+1, n^2+2*n, if(ispowerful(k), return(0))); 1 \\ Charles R Greathouse IV, Oct 31 2022
(Python)
from functools import lru_cache
from math import isqrt
from sympy import mobius, integer_nthroot
def A336175(n):
def squarefreepi(n): return int(sum(mobius(k)*(n//k**2) for k in range(1, isqrt(n)+1)))
def bisection(f, kmin=0, kmax=1):
while f(kmax) > kmax: kmax <<= 1
while kmax-kmin > 1:
kmid = kmax+kmin>>1
if f(kmid) <= kmid:
kmax = kmid
else:
kmin = kmid
return kmax
@lru_cache(maxsize=None)
def g(x):
c, l = 0, 0
j = isqrt(x)
while j>1:
k2 = integer_nthroot(x//j**2, 3)[0]+1
w = squarefreepi(k2-1)
c += j*(w-l)
l, j = w, isqrt(x//k2**3)
c += squarefreepi(integer_nthroot(x, 3)[0])-l
return c
def f(x):
c, a = n+x, 1
for k in range(1, x+1):
b = g((k+1)**2)
if b == a+1:
c -= 1
a = b
return c
return bisection(f, n, n) # Chai Wah Wu, Sep 14 2024
CROSSREFS
KEYWORD
nonn
AUTHOR
Amiram Eldar, Jul 10 2020
STATUS
approved