Clojure - Nombres romans T26671


Statement
 

pdf   zip

thehtml

Recordeu que els números romans s’escriuen amb els símbols I, V, X, L, C, D i M, amb valors 1, 5, 10, 50, 100, 500 i 1000 respectivament. En aquest sistema, per obtenir el nombre representat, se sumen els valors dels símbols, excepte els símbols situats a l’esquerra d’un símbol de valor més gran, que es resten.

  • Feu una funció recursiva roman2int que, donat un string amb un nombre en notació romana, calculi el seu equivalent decimal.
  • Feu una funció amb (loop/recur) roman2int2 que, donat un string amb un nombre en notació romana, calculi el seu equivalent decimal.
Public test cases
  • Input

    (roman2int "I")
    (roman2int "IV")
    (roman2int "MCDXIX")
    (roman2int "MMXXV")
    

    Output

    1
    4
    1419
    2025
    
  • Input

    (roman2int2 "I")
    (roman2int2 "IV")
    (roman2int2 "MCDXIX")
    (roman2int2 "MMXXV")
    

    Output

    1
    4
    1419
    2025
    
  • Information
    Author
    Jordi Petit / Albert Rubio / Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure