Skip to content

Commit ff314a2

Browse files
authored
Add tests for Project Euler Problem 5 + minor refactor (TheAlgorithms#1691)
1 parent 18da83a commit ff314a2

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

‎DIRECTORY.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
*[ROT13](Ciphers/ROT13.js)
3636
*[VigenereCipher](Ciphers/VigenereCipher.js)
3737
*[XORCipher](Ciphers/XORCipher.js)
38+
***Compression**
39+
*[RLE](Compression/RLE.js)
3840
***Conversions**
3941
*[ArbitraryBase](Conversions/ArbitraryBase.js)
4042
*[ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
@@ -285,6 +287,7 @@
285287
*[Problem016](Project-Euler/Problem016.js)
286288
*[Problem017](Project-Euler/Problem017.js)
287289
*[Problem018](Project-Euler/Problem018.js)
290+
*[Problem019](Project-Euler/Problem019.js)
288291
*[Problem020](Project-Euler/Problem020.js)
289292
*[Problem021](Project-Euler/Problem021.js)
290293
*[Problem023](Project-Euler/Problem023.js)

‎Project-Euler/Problem005.js‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ Smallest multiple
55
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
66
*/
77

8-
exportconstfindSmallestMultiple=()=>{
9-
constdivisors=[
10-
20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2
11-
]
12-
letnum=21
8+
exportconstfindSmallestMultiple=(maxDivisor)=>{
9+
constdivisors=Array.from({length: maxDivisor},(_,i)=>i+1)
10+
letnum=maxDivisor+1
1311
letresult
1412

1513
while(!result){
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import{expect}from'vitest'
2+
import{findSmallestMultiple}from'../Problem005.js'
3+
4+
describe.concurrent('Find smallest multiple',()=>{
5+
test.each([
6+
[10,2520],
7+
[15,360360],
8+
[20,232792560]
9+
])('max divisor -> %i, smallest multiple -> %i',(a,expected)=>{
10+
expect(findSmallestMultiple(a)).toBe(expected)
11+
})
12+
})

0 commit comments

Comments
(0)