Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const getPrimeFactors = (n: number): number[] => {
- const primeFactors: number[] = [];
- if (n < 2) return primeFactors;
- let divisor = 2;
- // As long as, n is an even number
- while (n % divisor === 0) {
- primeFactors.push(divisor);
- n = ~~(n / divisor);
- }
- // by this time n must be an odd number
- for (divisor = 3; divisor <= ~~Math.sqrt(n); divisor += 2) {
- while (n % divisor === 0) {
- primeFactors.push(divisor);
- n = ~~(n / divisor);
- }
- }
- if (n > 2) {
- primeFactors.push(n);
- }
- return primeFactors;
- }
Add Comment
Please, Sign In to add comment