;;; armstrong-numbers.el --- armstrong-numbers Exercise (exercism) ;;; Commentary: ;;; Code: (require 'calc) (require 'seq) (defun kj/digits (n) (let ((result nil)) (while (> n 0) (push (% n 10) result) (setq n (/ n 10))) result)) (defun armstrong-p (n) (let* ((digits (kj/digits n)) (ndigits (seq-length digits)) (fn (lambda (n) (math-pow n ndigits)))) (eql n (apply '+ (mapcar fn digits))))) (provide 'armstrong-numbers) ;;; armstrong-numbers.el ends here