blob: 64fbb4a6c20ff8a3702a6d350eccb88479dcc2fd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
int main() {
const unsigned int DIGITS = 8;
const unsigned int WEIGHTS[DIGITS] = { 8, 6, 4, 2, 3, 5, 9, 7 };
unsigned int serial_number;
std::cin >> serial_number;
unsigned int sum = 0;
for (int i = DIGITS - 1; i >= 0; i--) {
sum += (serial_number % 10) * WEIGHTS[i];
serial_number /= 10;
}
unsigned int control_digit = 11 - sum % 11;
if (control_digit == 10) control_digit = 0;
else if (control_digit == 11) control_digit = 5;
std::cout << control_digit << std::endl;
return 0;
}
|