Login
7 branches 0 tags
Ben (X13/Arch) Fixed some static analyzer errors 3956693 2 years ago 1164 Commits
nujel / benchmark / euler4 / nujel.nuj
;; The biggest product of 2 3-digit numbers that is a palindrome
;; https://projecteuler.net/problem=4


(defn reverse-num (a)
      (def ret 0)
      (while (> a 0)
             (set! ret (+ (* ret 10) (rem a 10)))
             (set! a (div/int a 10)))
      ret)

(defn palindrome? (a)
      (= a (reverse-num a)))

(defn bench-run ()
  (def max-val 0)
  (dotimes (a 1000 max-val)
    (dotimes (b 1000)
      (def p (* a b))
      (when (palindrome? p)
        (set! max-val (max p max-val))))))

(pfmtln "The biggest product of 2 3-digit numbers that is a palindrome is: {}" (bench-run))