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

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Roman numerals/Encode step by step in the UNIX Shell 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 UNIX Shell programming language

Source code in the unix programming language

roman() {
    local values=( 1000 900 500 400 100 90 50 40 10 9 5 4 1 )
    local roman=(
        [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
    )
    local nvmber=""
    local num=$1
    for value in ${values[@]}; do
        while (( num >= value )); do
            nvmber+=${roman[value]}
            ((num -= value))
        done
    done
    echo $nvmber
}

for test in 1999 24 944 1666 2008; do
    printf "%d = %s\n" $test $(roman $test)
done

  

You may also check:How to resolve the algorithm Compare a list of strings step by step in the Elixir programming language
You may also check:How to resolve the algorithm Forward difference step by step in the JavaScript programming language
You may also check:How to resolve the algorithm Even or odd step by step in the C# programming language
You may also check:How to resolve the algorithm Loops/For with a specified step step by step in the 6502 Assembly programming language
You may also check:How to resolve the algorithm Binary search step by step in the C programming language