algorithm: Square free integer (#1104)

* feat: Add square free integer implementation

* test: Add unit tests for square free integer

* refactor: Remove trailing whitespace from line 27

* refactor: Fix comments
This commit is contained in:
Akshay Dubey
2022-09-22 17:18:36 +05:30
committed by GitHub
parent cf0593f430
commit c7f9bf961c
2 changed files with 43 additions and 0 deletions

23
Maths/IsSquareFree.js Normal file
View File

@ -0,0 +1,23 @@
/*
* 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
}

File diff suppressed because one or more lines are too long