Login
7 branches 0 tags
Ben (X13/Arch) Simplified things a little 0643405 9 days ago 1260 Commits
nujel / tests / slow / euler004.nuj
#!/usr/bin/env nujel

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

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

(def max 0)
(dotimes (a 1000)
         (dotimes (b 1000)
                  (def p (* a b))
                  (when (and (palindrome? p)
                             (> p max))
                        (set! max p))))


(when (not= max 906609)
      (throw (list :wrong-result "Wrong result" max)))
(return :success)