숫자 9009를 생각해 봅시다. 이것은 두 자리 숫자(91과 99)를 곱하여 만들 수 있는 가장 큰 회문 숫자라는 의미에서 특별한 숫자입니다.
숫자 n(자릿수 지정)을 사용하는 JavaScript 함수를 작성해야 합니다. 함수는 단순히 두 개의 n자리 숫자의 곱으로 구성할 수 있는 가장 큰 회문 숫자를 찾아 반환해야 합니다.
예시
다음은 코드입니다 -
const largestPalindromic = num => { let i, n, m, d, max, sup, limit, number = 0; for (i = 1; i < num; i += 1) { number = 10 * number + 9; }; max = number; sup = 10 * number + 9; const isPalindromic = n => { let p = 0, q = n, r; while (n > 0) { r = n % 10; p = 10 * p + r; n = Math.floor(n / 10); }; return p === q; }; for (n = sup * sup, m = max * max; n > m; n -= 1) { if (isPalindromic(n)) { limit = Math.ceil(Math.sqrt(n)); d = sup; while (d >= limit) { if (n % d === 0 && n / d > max) { return n; } d -= 1; } } }; } console.log(largestPalindromic(3));
출력
다음은 콘솔의 출력입니다 -
906609