How to resolve the algorithm Roman numerals/Encode step by step in the Nim programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Roman numerals/Encode step by step in the Nim programming language

Table of Contents

Problem Statement

Create a function taking a positive integer as its parameter and returning a string containing the Roman numeral representation of that integer. Modern Roman numerals are written by expressing each digit separately, starting with the left most digit and skipping any digit with a value of zero.

In Roman numerals:

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Roman numerals/Encode step by step in the Nim programming language

Source code in the nim programming language

import strutils

const nums = [(1000, "M"), (900, "CM"), (500, "D"), (400, "CD"), (100, "C"), (90, "XC"),
              (50, "L"), (40, "XL"), (10, "X"), (9, "IX"), (5, "V"), (4, "IV"), (1, "I")]

proc toRoman(n: Positive): string =
  var n = n.int
  for (a, r) in nums:
    result.add(repeat(r, n div a))
    n = n mod a

for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
          11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
          25, 30, 40, 50, 60, 69, 70, 80, 90, 99,
          100, 200, 300, 400, 500, 600, 666, 700, 800, 900,
          1000, 1009, 1444, 1666, 1945, 1997, 1999,
          2000, 2008, 2010, 2011, 2500, 3000, 3999]:
  echo ($i).align(4), ": ", i.toRoman


  

You may also check:How to resolve the algorithm Deal cards for FreeCell step by step in the FreeBASIC programming language
You may also check:How to resolve the algorithm Primality by trial division step by step in the Common Lisp programming language
You may also check:How to resolve the algorithm Sleep step by step in the DIBOL-11 programming language
You may also check:How to resolve the algorithm Queue/Definition step by step in the Nanoquery programming language
You may also check:How to resolve the algorithm Luhn test of credit card numbers step by step in the Mathematica/Wolfram Language programming language