RosettaCodeData/Task/Roman-numerals-Encode/Phixmonti/roman-numerals-encode-1.phixmonti
2023-07-01 13:44:08 -04:00

24 lines
538 B
Text

include ..\Utilitys.pmt
def romanEnc /# n -- s #/
var number
"" var res
( ( 1000 "M" ) ( 900 "CM" ) ( 500 "D" ) ( 400 "CD" ) ( 100 "C" ) ( 90 "XC" )
( 50 "L" ) ( 40 "XL" ) ( 10 "X" ) ( 9 "IX" ) ( 5 "V" ) ( 4 "IV" ) ( 1 "I" ) )
len for
get 1 get
number over / int
number rot mod var number
swap 2 get rot dup if
for drop res over chain var res endfor
else
drop
endif
drop drop
endfor
drop
res
enddef
1968 romanEnc print