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)
|
* [ROT13](Ciphers/ROT13.js)
|
||||||
* [VigenereCipher](Ciphers/VigenereCipher.js)
|
* [VigenereCipher](Ciphers/VigenereCipher.js)
|
||||||
* [XORCipher](Ciphers/XORCipher.js)
|
* [XORCipher](Ciphers/XORCipher.js)
|
||||||
|
* **Compression**
|
||||||
|
* [RLE](Compression/RLE.js)
|
||||||
* **Conversions**
|
* **Conversions**
|
||||||
* [ArbitraryBase](Conversions/ArbitraryBase.js)
|
* [ArbitraryBase](Conversions/ArbitraryBase.js)
|
||||||
* [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
|
* [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
|
||||||
@ -285,6 +287,7 @@
|
|||||||
* [Problem016](Project-Euler/Problem016.js)
|
* [Problem016](Project-Euler/Problem016.js)
|
||||||
* [Problem017](Project-Euler/Problem017.js)
|
* [Problem017](Project-Euler/Problem017.js)
|
||||||
* [Problem018](Project-Euler/Problem018.js)
|
* [Problem018](Project-Euler/Problem018.js)
|
||||||
|
* [Problem019](Project-Euler/Problem019.js)
|
||||||
* [Problem020](Project-Euler/Problem020.js)
|
* [Problem020](Project-Euler/Problem020.js)
|
||||||
* [Problem021](Project-Euler/Problem021.js)
|
* [Problem021](Project-Euler/Problem021.js)
|
||||||
* [Problem023](Project-Euler/Problem023.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?
|
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export const findSmallestMultiple = () => {
|
export const findSmallestMultiple = (maxDivisor) => {
|
||||||
const divisors = [
|
const divisors = Array.from({ length: maxDivisor }, (_, i) => i + 1)
|
||||||
20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
|
let num = maxDivisor + 1
|
||||||
]
|
|
||||||
let num = 21
|
|
||||||
let result
|
let result
|
||||||
|
|
||||||
while (!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