23 lines
630 B
Plaintext
23 lines
630 B
Plaintext
function toRoman intNum
|
|
local roman,numArabic
|
|
put "M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I" into romans
|
|
put "1000,900,500,400,100,90,50,40,10,9,5,4,1" into arabics
|
|
put intNum into numArabic
|
|
repeat with n = 1 to the number of items of romans
|
|
put numArabic div item n of arabics into nums
|
|
if nums > 0 then
|
|
put repeatChar(item n of romans,nums) after roman
|
|
add -(nums * item n of arabics) to numArabic
|
|
end if
|
|
end repeat
|
|
return roman
|
|
end toRoman
|
|
|
|
function repeatChar c n
|
|
local cc
|
|
repeat n times
|
|
put c after cc
|
|
end repeat
|
|
return cc
|
|
end repeatChar
|