exercism-solutions/cpp/sum-of-multiples/sum_of_multiples.cpp

31 lines
512 B
C++

#include "sum_of_multiples.h"
#include <algorithm>
namespace sum_of_multiples {
number_t to(number_t limit)
{
return to({3, 5}, limit);
}
number_t to(const multipliers_t &multipliers, number_t limit)
{
number_t result = 0;
for (number_t i = 0; i < limit; ++i) {
auto is_multiple = [i](number_t m) -> bool {
return i % m == 0;
};
if (std::any_of(multipliers.begin(), multipliers.end(), is_multiple))
result += i;
}
return result;
}
}