How to resolve the algorithm Damm algorithm step by step in the jq programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Damm algorithm step by step in the jq 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 jq programming language
Source code in the jq programming language
def checkdigit:
[[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]]
as $m
| tostring | explode
# "0" is 48
| 0 == reduce (.[] - 48) as $d (0; $m[.][$d] );
# The task:
5724, 5727, 112946, 112949
| checkdigit as $d
| [., $d]
[5724,true]
[5727,false]
[112946,true]
[112949,false]
You may also check:How to resolve the algorithm Return multiple values step by step in the Perl programming language
You may also check:How to resolve the algorithm Loops/N plus one half step by step in the Pike programming language
You may also check:How to resolve the algorithm Combinations and permutations step by step in the EasyLang programming language
You may also check:How to resolve the algorithm Empty program step by step in the CoffeeScript programming language
You may also check:How to resolve the algorithm Knapsack problem/Unbounded step by step in the Prolog programming language