Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
41
Task/Roman-numerals-Encode/ASIC/roman-numerals-encode.asic
Normal file
41
Task/Roman-numerals-Encode/ASIC/roman-numerals-encode.asic
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
REM Roman numerals/Encode
|
||||
DIM Weights(12)
|
||||
DIM Symbols$(12)
|
||||
DATA 1000, "M", 900, "CM", 500, "D", 400, "CD", 100, "C", 90, "XC", 50, "L"
|
||||
DATA 40, "XL", 10, "X", 9, "IX", 5, "V", 4, "IV", 1, "I"
|
||||
REM 3888 or MMMDCCCLXXXVIII (15 chars) is the longest string properly encoded
|
||||
REM with these symbols.
|
||||
FOR J = 0 TO 12
|
||||
READ Weights(J)
|
||||
READ Symbols$(J)
|
||||
NEXT J
|
||||
|
||||
AValue = 1990
|
||||
GOSUB ToRoman:
|
||||
PRINT Roman$
|
||||
REM MCMXC
|
||||
AValue = 2022
|
||||
GOSUB ToRoman:
|
||||
PRINT Roman$
|
||||
REM MMXXII
|
||||
AValue = 3888
|
||||
GOSUB ToRoman:
|
||||
PRINT Roman$
|
||||
REM MMMDCCCLXXXVIII
|
||||
END
|
||||
|
||||
ToRoman:
|
||||
REM Result: Roman$
|
||||
Roman$ = ""
|
||||
I = 0
|
||||
Loop:
|
||||
IF (I > 12 THEN ExitToRoman:
|
||||
IF AValue <= 0 THEN ExitToRoman:
|
||||
WHILE AValue >= Weights(I)
|
||||
Roman$ = Roman$ + Symbols$(I)
|
||||
AValue = AValue - Weights(I)
|
||||
WEND
|
||||
I = I + 1
|
||||
GOTO Loop:
|
||||
ExitToRoman:
|
||||
RETURN
|
||||
Loading…
Add table
Add a link
Reference in a new issue