// Godbolt Link: https://godbolt.org/z/dGGKzdYhn #include #include #include #include auto array_product(std::vector v) -> std::vector { auto const prod = std::accumulate(v.cbegin(), v.cend(), 1, std::multiplies{}); std::transform(v.cbegin(), v.cend(), v.begin(), [=] (auto e) { return prod / e; }); return v; }