Prepare repository for merge
This commit is contained in:
32
javascript/snippets/prime-factors.md
Normal file
32
javascript/snippets/prime-factors.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Prime factors of number
|
||||
type: snippet
|
||||
tags: [math,algorithm]
|
||||
cover: dark-leaves-3
|
||||
dateModified: 2020-12-28T13:11:01+02:00
|
||||
---
|
||||
|
||||
Finds the prime factors of a given number using the trial division algorithm.
|
||||
|
||||
- Use a `while` loop to iterate over all possible prime factors, starting with `2`.
|
||||
- If the current factor, `f`, exactly divides `n`, add `f` to the factors array and divide `n` by `f`. Otherwise, increment `f` by one.
|
||||
|
||||
```js
|
||||
const primeFactors = n => {
|
||||
let a = [],
|
||||
f = 2;
|
||||
while (n > 1) {
|
||||
if (n % f === 0) {
|
||||
a.push(f);
|
||||
n /= f;
|
||||
} else {
|
||||
f++;
|
||||
}
|
||||
}
|
||||
return a;
|
||||
};
|
||||
```
|
||||
|
||||
```js
|
||||
primeFactors(147); // [3, 7, 7]
|
||||
```
|
||||
Reference in New Issue
Block a user