/* * Author: Akshay Dubey (https://github.com/itsAkshayDubey) * Square free integer: https://en.wikipedia.org/wiki/Square-free_integer * function to check if an integer has repeated prime factors. * return false if the number as repeated prime factors. * else true */ /** * @function isSquareFree * @description -> Checking if number is square free using prime factorization * @param {number} number * @returns {boolean} true if the number has unique prime factors, otherwise false */ import { PrimeFactors } from './PrimeFactors.js' export const isSquareFree = (number) => { const primeFactorsArray = PrimeFactors(number) if (number <= 0) { throw new Error('Number must be greater than zero.') } return primeFactorsArray.length === new Set(primeFactorsArray).size }