OFFSET
1,2
COMMENTS
From Gerard P. Michon, Oct 10 2010: (Start)
If d is the number of divisors of N, a prime factor of N with multiplicity k in N has a multiplicity kd/2 in the product of all divisors of N (including N itself). Therefore the latter is a square if and only if kd/2 is always even (which is to say that kd is a multiple of 4 for any multiplicity k of a prime factor of N). This happens when one of the following three conditions hold:
- N is a fourth power (all the multiplicities are then multiples of 4 and d is odd).
- N has at least two prime factors with odd multiplicities.
- N has (at least) one prime factor with a multiplicity congruent to 3 modulo 4.
(End)
It follows from the comment above that if two terms are: a) even and odd, or b) terms of A006881, or c) terms of A000583, then their product is also a term. - Ivan N. Ianakiev, Jul 02 2023
LINKS
T. D. Noe, Table of n, a(n) for n = 1..1000
G. P. Michon, Divisor Product, Numericana.
Eric Weisstein's World of Mathematics, Divisor Product
EXAMPLE
From Gerard P. Michon, Oct 10 2010: (Start)
a(1) = 1 because it's a fourth power. The product of all divisors of 1 is 1, which is a square.
a(2) = 6 because 2^1.3^1 is the product of two primes with odd multiplicities (1 in both cases). Indeed, the divisor product 1.2.3.6 = 36 is a square.
a(3) = 8 because 2 is a prime factor of 8 with multiplicity 3. Indeed, 1.2.4.8 = 64 is a square.
a(7) = 16 because it's a fourth power; 1.2.4.8.16 = 1024 is the square of 32. (End)
MATHEMATICA
Select[Range[125], IntegerQ[Sqrt[Times @@ Divisors[#]]] &] (* T. D. Noe, Apr 30 2012 *)
PROG
(PARI) {for(k=1, 126, mpc=1;
M=divisors(k);
for(i=1, matsize(M)[2], mpc=mpc*M[i]);
if(issquare(mpc), print1(k, ", ")))} \\\ Douglas Latimer, Apr 30 2012
(PARI) is(n)=my(f=factor(n)[, 2]); gcd(f)%4==0 || #select(k->k%2, f)>1 || #select(k->k%4==3, f) \\ Charles R Greathouse IV, Sep 18 2015
(Sage) [n for n in (1..125) if prod(divisors(n)).is_square()] # Giuseppe Coppoletta, Dec 16 2014
(Python)
from sympy import divisor_count
from gmpy2 import iroot
A048943_list = [i for i in range(1, 10**3) if iroot(i, 4)[1] or not divisor_count(i) % 4] # Chai Wah Wu, Mar 10 2016
CROSSREFS
KEYWORD
nonn
AUTHOR
STATUS
approved