Guest User

Untitled

a guest
Nov 17th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. /*
  2. Whole Numbers to Roman Numerals
  3.  
  4. Coded by errorseven @ 11-17-2018
  5.  
  6. A Numeral surrounded by Parenthesis denotes x 1000
  7. */
  8.  
  9. roman(i) { ; Supports up to 4,999,999,999
  10. rn:=[["I","V"],["X","L"],["C","D"],["M","(V)"]
  11. ,["(X)","(L)"],["(C)","(D)"],["(M)","((V))"]
  12. ,["((X))","((L))"],["((C))","((D))"],["((M))"]]
  13.  
  14. While(i) {
  15. l:=Strlen(i),n:=SubStr(i, 1, 1)
  16. i:= SubStr(i, 2),r.=(n=9?rn[l].2 rn[l+1].1
  17. :(n>5&&n<9)?rn[l].2 aV(n,rn[l].1)
  18. :n=4?rn[l].1 rn[l].2:(n<4&&n>1)?aV(n, rn[l].1)
  19. :n=5?rn[l].2:n=1?rn[l].1:_)
  20. } return r
  21. }
  22.  
  23. aV(n,v) {
  24. n:=n>5?n-5:n
  25. loop % n
  26. r.=v
  27. return r
  28. }
Add Comment
Please, Sign In to add comment