mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 00:01:37 +08:00
Add tests for Project Euler Problem 5 + minor refactor (#1691)
This commit is contained in:
@ -35,6 +35,8 @@
|
||||
* [ROT13](Ciphers/ROT13.js)
|
||||
* [VigenereCipher](Ciphers/VigenereCipher.js)
|
||||
* [XORCipher](Ciphers/XORCipher.js)
|
||||
* **Compression**
|
||||
* [RLE](Compression/RLE.js)
|
||||
* **Conversions**
|
||||
* [ArbitraryBase](Conversions/ArbitraryBase.js)
|
||||
* [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
|
||||
@ -285,6 +287,7 @@
|
||||
* [Problem016](Project-Euler/Problem016.js)
|
||||
* [Problem017](Project-Euler/Problem017.js)
|
||||
* [Problem018](Project-Euler/Problem018.js)
|
||||
* [Problem019](Project-Euler/Problem019.js)
|
||||
* [Problem020](Project-Euler/Problem020.js)
|
||||
* [Problem021](Project-Euler/Problem021.js)
|
||||
* [Problem023](Project-Euler/Problem023.js)
|
||||
|
@ -5,11 +5,9 @@ Smallest multiple
|
||||
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
|
||||
*/
|
||||
|
||||
export const findSmallestMultiple = () => {
|
||||
const divisors = [
|
||||
20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
|
||||
]
|
||||
let num = 21
|
||||
export const findSmallestMultiple = (maxDivisor) => {
|
||||
const divisors = Array.from({ length: maxDivisor }, (_, i) => i + 1)
|
||||
let num = maxDivisor + 1
|
||||
let result
|
||||
|
||||
while (!result) {
|
||||
|
12
Project-Euler/test/Problem005.test.js
Normal file
12
Project-Euler/test/Problem005.test.js
Normal file
@ -0,0 +1,12 @@
|
||||
import { expect } from 'vitest'
|
||||
import { findSmallestMultiple } from '../Problem005.js'
|
||||
|
||||
describe.concurrent('Find smallest multiple', () => {
|
||||
test.each([
|
||||
[10, 2520],
|
||||
[15, 360360],
|
||||
[20, 232792560]
|
||||
])('max divisor -> %i, smallest multiple -> %i', (a, expected) => {
|
||||
expect(findSmallestMultiple(a)).toBe(expected)
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user