Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
21
Task/Damm-algorithm/Perl/damm-algorithm.pl
Normal file
21
Task/Damm-algorithm/Perl/damm-algorithm.pl
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
sub damm {
|
||||
my(@digits) = split '', @_[0];
|
||||
my @tbl =([< 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 >]
|
||||
);
|
||||
my $row = 0;
|
||||
for my $col (@digits) { $row = $tbl[$row][$col] }
|
||||
not $row
|
||||
}
|
||||
|
||||
for (5724, 5727, 112946) {
|
||||
print "$_:\tChecksum digit @{[damm($_) ? '' : 'in']}correct.\n"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue