21 lines
299 B
Text
21 lines
299 B
Text
|
|
PROGRAM:ROM2DEC
|
|||
|
|
:Input "ROMAN:",Str1
|
|||
|
|
:{1000,500,100,50,10,5,1}➞L1
|
|||
|
|
:0➞P
|
|||
|
|
:0➞Y
|
|||
|
|
:For(I,length(Str1),1,-1)
|
|||
|
|
:inString("MDCLXVI",sub(Str1,I,1))➞X
|
|||
|
|
:If X≤0:Then
|
|||
|
|
:Disp "BAD NUMBER"
|
|||
|
|
:Stop
|
|||
|
|
:End
|
|||
|
|
:L1(x)➞N
|
|||
|
|
:If N<P:Then
|
|||
|
|
:Y–N➞Y
|
|||
|
|
:Else
|
|||
|
|
:Y+N➞Y
|
|||
|
|
:End
|
|||
|
|
:N➞P
|
|||
|
|
:End
|
|||
|
|
:Disp Y
|