How to resolve the algorithm Damm algorithm step by step in the 11l programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Damm algorithm step by step in the 11l programming language

Table of Contents

Problem Statement

The Damm algorithm is a checksum algorithm which detects all single digit errors and adjacent transposition errors.

The algorithm is named after H. Michael Damm.

Verify the checksum, stored as last digit of an input.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Damm algorithm step by step in the 11l programming language

Source code in the 11l programming language

V matrix = [
    [0, 3, 1, 7, 5, 9, 8, 6, 4, 2],
    [7, 0, 9, 2, 1, 5, 4, 8, 6, 3],
    [4, 2, 0, 6, 8, 7, 1, 3, 5, 9],
    [1, 7, 5, 0, 9, 8, 3, 4, 2, 6],
    [6, 1, 2, 3, 0, 4, 5, 9, 7, 8],
    [3, 6, 7, 4, 2, 0, 9, 5, 8, 1],
    [5, 8, 6, 9, 7, 2, 0, 1, 3, 4],
    [8, 9, 4, 5, 3, 6, 2, 0, 1, 7],
    [9, 4, 3, 8, 6, 1, 7, 2, 0, 5],
    [2, 5, 8, 1, 4, 3, 6, 7, 9, 0]
]

F damm(Int num) -> Bool
   V row = 0
   L(digit) String(num)
      row = :matrix[row][Int(digit)]
   R row == 0

L(test) [5724, 5727, 112946]
   print(test"\t Validates as: "damm(test))

  

You may also check:How to resolve the algorithm Haversine formula step by step in the ABAP programming language
You may also check:How to resolve the algorithm System time step by step in the Rust programming language
You may also check:How to resolve the algorithm FizzBuzz step by step in the SNUSP programming language
You may also check:How to resolve the algorithm Program termination step by step in the REXX programming language
You may also check:How to resolve the algorithm Y combinator step by step in the J programming language