diff options
feat(Week05): Add exercises and solutions
1 files changed, 23 insertions, 0 deletions
| -rw-r--r-- | Week05/Exercise20.cpp | 23 |
diff --git a/Week05/Exercise20.cpp b/Week05/Exercise20.cpp new file mode 100644 index 0000000..b44c0b3 --- /dev/null +++ b/Week05/Exercise20.cpp @@ -0,0 +1,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; +} |
