31 lines
512 B
C++
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;
|
|
}
|
|
|
|
}
|