Algorithms and Data Structures implemented in JavaScript for beginners, following best practices.
|
|
/*
|
||
|
|
* 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
|
||
|
|
}
|