JSFiddle - React, Tailwind, and code Playground

by Andrew Poes

HTML

<!-- Euler 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. -->

CSS

.print {
    position: relative;
    display: inline-block;
    background-color: black;
    color: white;
    font-family: Helvetica, Helvetica-Neue, sans-serif;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: -1.5px;
    padding: 4px 8px;
}

body {
    background-color: #eeeeee;
}
}

JavaScript

$(document).ready(function() {
    var largest = 0
    for (i = 999; i > 99; --i) {
        for (j = 999; j > 99; --j) {
            var product = i * j;
            var str = product.toString();
            var arr = [];
            for (var k = 0; k  < str.length; ++k) {
                arr.push(str.charAt(k));
            }
            if (arr.length > 2) {
                var median = arr.length * 0.5;
                var palindromic = true;
                for (l = 0; l < median; ++l) {
                    var left = arr[l];
                    var right = arr[arr.length - 1 - l];
                    if (left != right) {
                        palindromic = false;
                    }
                }
                if (palindromic) {
                    if (largest < product) {
                        largest = product;
                    }
                }
            }
        }
    }
    print(largest);
})

function print() {
    var args = Array.prototype.slice.apply(arguments)
    var str = ""
    for (arg of args) {
        str += arg + ", "
    }
    str = str.substring(0, str.length - 2)
    var el = newel(str)
    $("body").append(el)
    $("body").append("</br>")
}

function newel(str) {
    var el = document.createElement("div")
    $(el).html(str)
    $(el).addClass("print")
    return el
}