From 9242ebc4c69f2c1f550ddcc0e9235f3f409554c7 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 1 Nov 2025 20:27:21 +0200 Subject: feat(Week05): Add exercises and solutions --- Week05/Exercise10.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Week05/Exercise10.cpp (limited to 'Week05/Exercise10.cpp') diff --git a/Week05/Exercise10.cpp b/Week05/Exercise10.cpp new file mode 100644 index 0000000..64fbb4a --- /dev/null +++ b/Week05/Exercise10.cpp @@ -0,0 +1,24 @@ +#include + +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; +} -- cgit v1.3.1-23-gd82d