GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — JavaScript/Project-Euler/Problem004.js at master · TheAlgorithms/JavaScript Expand file tree/ Copy pathProblem004.jsMore file actions 44 lines (41 loc) · 1.16 KB / Copy pathProblem004.jsFile metadata and controls44 lines (41 loc) · 1.16 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 // https://projecteuler.net/problem=4 /* A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99. Find the largest palindrome made from the product of two 3-digit numbers. */ export const largestPalindromic = (digits) => { let i let n let m let d let limit let number = 0 for (i = 1; i < digits; i++) { number = 10 * number + 9 } const inf = number // highest (digits - 1) number, in this example highest 2 digit number const sup = 10 * number + 9 // highest (digits) number, in this example highest 3 digit number const isPalindromic = (n) => { let p = 0 const q = n let r while (n > 0) { r = n % 10 p = 10 * p + r n = Math.floor(n / 10) } return p === q // returning whether the number is palindromic or not } for (n = sup * sup, m = inf * inf; n > m; n--) { if (isPalindromic(n)) { limit = Math.ceil(Math.sqrt(n)) d = sup while (d >= limit) { if (n % d === 0 && n / d > inf) { return n } d -= 1 } } } return NaN // returning not a number, if any such case arise } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |