Задача взята с сайта e-olymp.
Задача
Задано длинное число. Найти сумму его четных цифр.
Входные данные
Одно натуральное число $n (n ≤ 10^{100} )$.
Выходные данные
Вывести сумму четных цифр числа $n$.
Тесты
# | ВХОДНЫЕ ДАННЫЕ | ВЫХОДНЫЕ ДАННЫЕ |
---|---|---|
1 | 2345 | 6 |
2 | 3458937487534533459 | 32 |
3 | 888888888888888888888888888888 | 240 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main() { char c; int sum = 0; while(cin >> c) if((c - '0') % 2 == 0) sum += (c - '0'); cout << sum << '\n'; return 0; } |
Решение задачи
Переменная
c — является переменной типа
char, что означает, что
cin в этом случае будет считывать по одному символу с потока. По этой причине, чтобы решить данную задачу, нужно считывать заданное число с помощью
cin в цикле
while до тех пор, пока происходит ввод данных с клавиатуры. Проверяя каждую цифру введенного числа на четность, будем прибавлять четные к переменной
sum.
Для работы с символом
c как с числом, будем писать
c - '0'.
Ссылки
Условие задачи на e-olymp
Код программы на ideone