Números poderosos

Dado um número positivo x:

p = (p1, p2, …)
// Set of *prime* factors of x

Se o quadrado de cada item de p também for um fator de x, então x é considerado um número poderoso.

Crie uma função que receba um número e retorne true se ele for poderoso, e false caso contrário.

Exemplos

isPowerful(36) ➞ true
// p = (2, 3) (prime factors of 36)
// 2^2 = 4 (factor of 36)
// 3^2 = 9 (factor of 36)

isPowerful(27) ➞ true

isPowerful(674) ➞ false

Observações

N/A