Шестнадцатеричные цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10), B (11), C (12), D (13), E (14), F(15).
– По условию цифры не превосходят 6, тогда поразрядные суммы не превосходят 6 + 6 = C. Отвергаем вариант 1: в нем появилось F.
– Поразрядные суммы, как следует из предыдущего наблюдения, записываются одной цифрой. Поэтому не подходит вариант 2, в котором 3 цифры.
– Цифры в результате должны идти в порядке возрастания, чего нет в варианте 4, 7 > 6.
Остаётся единственный вариант: 3) 8B. Он получится, например, если исходные числа равны 35 и 56
Использован тернарный оператор.
Код:
#include <iostream>template <typename T>constexpr T even_sum(T seq[], int n, int i, T sum) { return i == n || seq[i] % 2 != 0 ? sum : even_sum(seq, n, i+1, sum + seq[i]);}int main() { constexpr int sequence[] = {4, 6, 8, 10}; constexpr int n = sizeof(sequence) / sizeof(*sequence); constexpr int k = even_sum(const_cast<int *>(sequence), n, 0, 0); std::cout << k << std::endl; return 0;}