Nest all content into snippets
This commit is contained in:
27
snippets/js/s/primes.md
Normal file
27
snippets/js/s/primes.md
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Primes up to given number
|
||||
type: snippet
|
||||
language: javascript
|
||||
tags: [math,algorithm]
|
||||
cover: apples
|
||||
dateModified: 2020-12-28T13:49:24+02:00
|
||||
---
|
||||
|
||||
Generates primes up to a given number, using the Sieve of Eratosthenes.
|
||||
|
||||
- Generate an array from `2` to the given number.
|
||||
- Use `Array.prototype.filter()` to filter out the values divisible by any number from `2` to the square root of the provided number.
|
||||
|
||||
```js
|
||||
const primes = num => {
|
||||
let arr = Array.from({ length: num - 1 }).map((x, i) => i + 2),
|
||||
sqroot = Math.floor(Math.sqrt(num)),
|
||||
numsTillSqroot = Array.from({ length: sqroot - 1 }).map((x, i) => i + 2);
|
||||
numsTillSqroot.forEach(x => (arr = arr.filter(y => y % x !== 0 || y === x)));
|
||||
return arr;
|
||||
};
|
||||
```
|
||||
|
||||
```js
|
||||
primes(10); // [2, 3, 5, 7]
|
||||
```
|
||||
Reference in New Issue
Block a user