Answer

Javascript

function getPrimeNumbersUpToN(n) { const primes = []; for (let i = 2; i < n; i++) { let isPrime = true; for (let j = 2; j <= Math.sqrt(i); j++) { if (i % j === 0) { isPrime = false; break; } } if (isPrime) { primes.push(i); } } return primes; } function isPandigital(number) { const splitNumber = number.toString().split(""); const splitNumberLength = splitNumber.length; const uniqueDigits = new Set(splitNumber); if (splitNumberLength > 10) return false; // it cannot have more than 10 because that would repeat if (uniqueDigits.size !== splitNumberLength) return false; return true; } function longestPandigitalPrimeToN(n) { const pandigitalPrimes = getPrimeNumbersUpToN(n).filter((value) => { return isPandigital(value); }) return pandigitalPrimes[pandigitalPrimes.length - 1] }