Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, которая в последовательности натуральных чисел определяет сумму трёхзначных чисел, кратных 4. (0 – признак окончания ввода, не входит в последовательность количество чисел не превышает 1000. введённые числа не превышают 30 000.
c++ / gcc 7.3.0
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
unsigned short int N;
unsigned int result = 0;
std::cin >> N;
std::vector<unsigned short int> arr;
while(true)
{
unsigned short int tmp;
std::cin >> tmp;
if(tmp != 0)
arr.push_back(tmp);
break;
}
std::for_each(arr.cbegin(), arr.cend(), [&result](auto& var)
{
if(var > 99 && var < 1000 && (var % 4 == 0))
result += var;
});
std::cout << result << std::endl;
return 0;
}