A checksum is a type of simple error detection scheme, meant to catch incorrectly entered data such as typos. Credit cards, for example, use the Luhn algorithm to generate account numbers. Alternatively, a checksum could be a digit appended to the end of a number that needs to be later validated.
A super-simple scheme used to validate 6-digit student numbers is as follows:
- Break the number up into 6 digits.
- Add up all the digits together to get a new number.
- Repeat the process until the result is only a single digit.
- Match the resulting digit to the capital letter of alphabet, in that position.
123456 1+2+3+4+5+6 = 21 2+1 = 3 3 = C
The input file DATA2.txt will contain 5 lines, each being a 6-digit positive integer followed by a space and a capital letter. Numbers will not have leading zeros, and thus digits will never add up to 0.
The output file OUT2.txt will contain 5 lines, stating match or error, depending if the number generates the same checksum letter as supplied or not.
123456 C 123456 A 100000 A 111111 F 111114 I
match error match match match