我在c ++中有矢量,例如std::vector<double> v = {10.0, 5.0, 2.0}
。我想按顺序划分向量的所有元素,即10 / 5.0 = 2.0,然后将2.0 / 2.0划分为1。因此,最后的答案是向量的所有元素的划分。有什么办法可以使用某些STL函数或算法有效地做到这一点。我不想使用for
循环。谢谢您的帮助!
答案 0 :(得分:3)
正如 @AlgirdasPreidžius在评论中提到的那样(我在弹出之前就开始写答案了),您可能只是错过了该算法应以第一个数字开头而不是 除以它。这应该是您所期望的:
<html>
<body>
<div id="main">
<div id="div1"></div>
<div id="div2"></div>
<button onclick="myFunction()">Show only Div 1</button>
</div>
</body>
</html>
请注意int main()
{
std::vector<double> vec = {10, 5, 2};
std::cout << std::accumulate(vec.cbegin() + 1, vec.cend(),
vec[0], std::divides<>());
}
和+ 1
之后的vec.cbegin()
作为起始值