aboutsummaryrefslogtreecommitdiff
path: root/challenge-252/e-choroba/cpp/ch-1.cpp
blob: ec85e36bf0409d8405589e1e39372438aad820ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cassert>
#include <cmath>
#include <iostream>
#include <vector>

long special_numbers(std::vector<long> ints) {
    size_t s = ints.size();
    long r = 0;
    for (size_t i = 0; i <= s; ++i) {
        if (s % (i + 1) == 0) {
            r += std::pow(ints[i], 2);
        }
    }
    return r;
}

int main(int argc, char* argv[]) {
    assert(special_numbers({1, 2, 3, 4}) == 21);
    assert(special_numbers({2, 7, 1, 19, 18, 3}) == 63);
    std::cout << "Ok." << std::endl;
}