Roman numerals/Decode: Difference between revisions
Content added Content deleted
(Add BQN) |
m (Emacs Lisp: Fix formatting) |
||
Line 2,241: | Line 2,241: | ||
=={{header|Emacs Lisp}}== |
=={{header|Emacs Lisp}}== |
||
<lang lisp> |
<lang lisp>(defun ro2ar (RN) |
||
⚫ | |||
(defun ro2ar (RN) |
|||
⚫ | |||
Its argument RN is wether a symbol, wether a list. |
Its argument RN is wether a symbol, wether a list. |
||
Returns the arabic number. (ro2ar 'C) gives 100, |
Returns the arabic number. (ro2ar 'C) gives 100, |
||
Line 2,257: | Line 2,256: | ||
((null (cdr RN)) (ro2ar (car RN))) ;; stop recursion |
((null (cdr RN)) (ro2ar (car RN))) ;; stop recursion |
||
((< (ro2ar (car RN)) (ro2ar (car (cdr RN)))) (- (ro2ar (cdr RN)) (ro2ar (car RN)))) ;; "IV" -> 5-1=4 |
((< (ro2ar (car RN)) (ro2ar (car (cdr RN)))) (- (ro2ar (cdr RN)) (ro2ar (car RN)))) ;; "IV" -> 5-1=4 |
||
(t (+ (ro2ar (car RN)) (ro2ar (cdr RN)))))) ;; "VI" -> 5+1=6 |
(t (+ (ro2ar (car RN)) (ro2ar (cdr RN)))))) ;; "VI" -> 5+1=6</lang> |
||
</lang> |
|||
{{out}} |
{{out}} |
||
<pre> |
|||
(ro2ar '(M D C L X V I)) |
(ro2ar '(M D C L X V I)) ;=> 1666 |
||
</pre> |
|||
=={{header|Erlang}}== |
=={{header|Erlang}}== |