Problem 37

Run Settings
LanguageJavaScript
Language Version
Run Command
function isPrime(number) { if (number === 1) {return false} const threshold = Math.ceil(Math.sqrt(number)); for (let i = threshold; i > 1; i--) { if (number % i === 0 ) { return false; } } return true; } function arrayToNumber(inputArr) { return inputArr.reduce((a,b, index) => a + b * 10 ** (inputArr.length - 1 - index), 0) } function giveTruncatedPrimes(inputArr) { const elegibleNumbers = [1,3,5,7,9] if (inputArr.length === 1000000) {return []} const outputArr = []; if (!isPrime(arrayToNumber(inputArr)) ) { return []; } outputArr.push(inputArr) for (let i of elegibleNumbers) { outputArr.push(...giveTruncatedPrimes([i, ...inputArr])) } // console.log(inputArr, ' --- ', outputArr) // console.log(inputArr, ' --- ', outputArr.filter(x => isPrime(arrayToNumber(x.slice(x.length - inputArr.length))))) // console.log(inputArr, ' --- ', outputArr.map(x => x.slice( 0, (x.length - inputArr.length)) )) const filterFunction = (x) => isPrime(arrayToNumber(x.slice(0, x.length - inputArr.length + 1 ))) return outputArr.filter(filterFunction).filter(x => x.length > 1) } console.log(giveTruncatedPrimes([]).map(arrayToNumber)) // console.log(giveTruncatedPrimes([]).map(arrayToNumber).reduce((a, b) => a + b, 0))
Editor Settings
Theme
Key bindings
Full width
Lines