Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,14 @@
|
|||
TOROMAN(INPUT)
|
||||
;Converts INPUT into a Roman numeral. INPUT must be an integer between 1 and 3999
|
||||
;OUTPUT is the string to return
|
||||
;I is a loop variable
|
||||
;CURRVAL is the current value in the loop
|
||||
QUIT:($FIND(INPUT,".")>1)!(INPUT<=0)!(INPUT>3999) "Invalid input"
|
||||
NEW OUTPUT,I,CURRVAL
|
||||
SET OUTPUT="",CURRVAL=INPUT
|
||||
SET:$DATA(ROMANNUM)=0 ROMANNUM="I^IV^V^IX^X^XL^L^XC^C^CD^D^CM^M"
|
||||
SET:$DATA(ROMANVAL)=0 ROMANVAL="1^4^5^9^10^40^50^90^100^400^500^900^1000"
|
||||
FOR I=$LENGTH(ROMANVAL,"^"):-1:1 DO
|
||||
.FOR Q:CURRVAL<$PIECE(ROMANVAL,"^",I) SET OUTPUT=OUTPUT_$PIECE(ROMANNUM,"^",I),CURRVAL=CURRVAL-$PIECE(ROMANVAL,"^",I)
|
||||
KILL I,CURRVAL
|
||||
QUIT OUTPUT
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
TOROMAN(n)
|
||||
;return empty string if input parameter 'n' is not in 1-3999
|
||||
Quit:(n'?1.4N)!(n'<4000)!'n ""
|
||||
New r Set r=""
|
||||
New p Set p=$Length(n)
|
||||
New j,x
|
||||
For j=1:1:p Do
|
||||
. Set x=$Piece("~I~II~III~IV~V~VI~VII~VIII~IX","~",$Extract(n,j)+1)
|
||||
. Set x=$Translate(x,"IVX",$Piece("IVX~XLC~CDM~M","~",p-j+1))
|
||||
. Set r=r_x
|
||||
Quit r
|
||||
Loading…
Add table
Add a link
Reference in a new issue