Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
21
Task/Roman-numerals-Decode/Ring/roman-numerals-decode.ring
Normal file
21
Task/Roman-numerals-Decode/Ring/roman-numerals-decode.ring
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
symbols = "MDCLXVI"
|
||||
weights = [1000,500,100,50,10,5,1]
|
||||
|
||||
see "MCMXCIX = " + romanDec("MCMXCIX") + nl
|
||||
see "MDCLXVI =" + romanDec("MDCLXVI") + nl
|
||||
see "XXV = " + romanDec("XXV") + nl
|
||||
see "CMLIV = " + romanDec("CMLIV") + nl
|
||||
see "MMXI = " + romanDec("MMXI") + nl
|
||||
|
||||
func romanDec roman
|
||||
n = 0
|
||||
lastval = 0
|
||||
arabic = 0
|
||||
for i = len(roman) to 1 step -1
|
||||
n = substr(symbols,roman[i])
|
||||
if n > 0 n = weights[n] ok
|
||||
if n < lastval arabic = arabic - n
|
||||
else arabic = arabic + n ok
|
||||
lastval = n
|
||||
next
|
||||
return arabic
|
||||
Loading…
Add table
Add a link
Reference in a new issue