#include "sum_of_multiples.h" #include 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; } }