Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
24
Task/Roman-numerals-Encode/AutoLISP/roman-numerals-encode.l
Normal file
24
Task/Roman-numerals-Encode/AutoLISP/roman-numerals-encode.l
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
(defun c:roman() (romanNumber (getint "\n Enter number > "))
|
||||
(defun romanNumber (n / uni dec hun tho nstr strlist nlist rom)
|
||||
(if (and (> n 0) (<= n 3999))
|
||||
(progn
|
||||
(setq
|
||||
UNI (list "" "I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX")
|
||||
DEC (list "" "X" "XX" "XXX" "XL" "L" "LX" "LXX" "LXXX" "XC")
|
||||
HUN (list "" "C" "CC" "CCC" "CD" "D" "DC" "DCC" "DCCC" "CM")
|
||||
THO (list "" "M" "MM" "MMM")
|
||||
nstr (itoa n)
|
||||
)
|
||||
(while (> (strlen nstr) 0) (setq strlist (append strlist (list (substr nstr 1 1))) nstr (substr nstr 2 (strlen nstr))))
|
||||
(setq nlist (mapcar 'atoi strlist))
|
||||
(cond
|
||||
((> n 999)(setq rom(strcat(nth (car nlist) THO)(nth (cadr nlist) HUN)(nth (caddr nlist) DEC) (nth (last nlist)UNI ))))
|
||||
((and (> n 99)(<= n 999))(setq rom(strcat (nth (car nlist) HUN)(nth (cadr nlist) DEC) (nth (last nlist)UNI ))))
|
||||
((and (> n 9)(<= n 99))(setq rom(strcat (nth (car nlist) DEC) (nth (last nlist)UNI ))))
|
||||
((<= n 9)(setq rom(nth (last nlist)UNI)))
|
||||
)
|
||||
)
|
||||
(princ "\nNumber out of range!")
|
||||
)
|
||||
rom
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue