login
A056674
Number of squarefree divisors which are not unitary. Also number of unitary divisors which are not squarefree.
4
0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 0, 1, 0, 2, 0, 2, 0, 0, 0, 2, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 2, 2, 0, 0, 2, 1, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 4, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 2, 0, 4, 0, 2, 0, 0, 0, 2, 0, 2, 2, 3, 0, 0, 0, 2, 0
OFFSET
1,12
COMMENTS
Numbers of unitary and of squarefree divisors are identical, although the 2 sets are usually different, so sizes of parts outside overlap are also equal to each other.
FORMULA
a(n) = A034444(n) - A056671(n) = A034444(n) - A000005(A055231(n)) = A034444(n) - A000005(A007913(n)/A055229(n)).
EXAMPLE
For n = 252, it has 18 divisors, 8 are unitary, 8 are squarefree, 2 belong to both classes, so 6 are squarefree but not unitary, thus a(252) = 6. The set {2,3,14,21,42} forms squarefree but non-unitary while the set {4,9,36,28,63,252} of same size gives the set of not squarefree but unitary divisors.
MATHEMATICA
Table[DivisorSum[n, 1 &, And[SquareFreeQ@ #, ! CoprimeQ[#, n/#]] &], {n, 105}] (* Michael De Vlieger, Jul 19 2017 *)
f[p_, e_] := If[e == 1, 2, 1]; a[1] = 0; a[n_] := 2^Length[fct = FactorInteger[n]] - Times @@ (f @@@ fct); Array[a, 100] (* Amiram Eldar, Jul 24 2024 *)
PROG
(PARI)
A034444(n) = (2^omega(n));
A057521(n) = { my(f=factor(n)); prod(i=1, #f~, if(f[i, 2]>1, f[i, 1]^f[i, 2], 1)); } \\ Charles R Greathouse IV, Aug 13 2013
A055231(n) = n/A057521(n);
A056674(n) = (A034444(n) - numdiv(A055231(n)));
\\ Or:
A055229(n) = { my(c=core(n)); gcd(c, n/c); }; \\ Charles R Greathouse IV, Nov 20 2012
A056674(n) = ((2^omega(n)) - numdiv(core(n)/A055229(n)));
\\ Antti Karttunen, Jul 19 2017
(PARI) a(n) = {my(f = factor(n), e = f[, 2]); 2^omega(f) - prod(i = 1, #e, if(e[i] == 1, 2, 1)); } \\ Amiram Eldar, Jul 24 2024
(Python)
from sympy import gcd, primefactors, divisor_count
from sympy.ntheory.factor_ import core
def a055229(n):
c=core(n)
return gcd(c, n//c)
def a056674(n): return 2**len(primefactors(n)) - divisor_count(core(n)//a055229(n))
print([a056674(n) for n in range(1, 101)]) # Indranil Ghosh, Jul 19 2017
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
Labos Elemer, Aug 10 2000
STATUS
approved