Skip to content

william-gu-hof/roman-numeral-katas

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

roman-numeral-katas

Code Katas - Roman numerals task

Logic & Requirements

  • The output will be generated by tallying 1, 5, 10, 50, 100, 500, and 1000, using the symbols “I”, “V”, “X”, “L”, “C”, “D” and “M” respectively.
  • The symbols must be written in descending order: “M” before “D” before “C” before “L”, etc.
  • Using the tallying logic, it’s clear that we can only have up to four repetitions of “I”, “X”, “C” and “M”. And only one “V”, “L” or “D”. Any more than that and the multiple tally marks are abbreviated to the next “higher” tally mark.
  • Finally, we have the six substitution rules: “IIII”=>“IV”, “VIIII”=>“IX”, “XXXX”=>“XL”, “LXXXX”=>“XC”, “CCCC”=>“CD”, “DCCCC”=>“CM”. These are exceptions to the descending order rule.
  • The Arabic number 0 is mapped to the empty string.
  • If the input is < 0 or > 4000 return None otherwise return Some(roman), where roman is the Arabic number converted to Roman numerals as described above.

About

Code Katas - Roman numerals task

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%