Website Summary Files Commits Branches @commit @diff @stats
path: root / Week05 / Exercise20.cpp
blob: b44c0b33e48800976f74140f8919822de0b9d9c7 (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
#include <iostream>

int main() {
    unsigned int number;
    std::cin >> number;

    unsigned int check_digit = number % 10;
    number /= 10;

    unsigned int sum = 0, digit = 0;
    for (unsigned int multiplier = 2; number != 0; multiplier = multiplier % 2 + 1, number /= 10) {
        digit = (number % 10) * multiplier;
        if (digit > 9) digit -= 9;
        sum += digit;
    }

    if ((10 - (sum % 10)) % 10 == check_digit)
        std::cout << "Valid" << std::endl;
    else
        std::cout << "Invalid" << std::endl;

    return 0;
}