这个公式在"accumulate"时采用什么参数?
What parameters this formula takes when in "accumulate"?
这段代码是从另一个用户问题复制而来的,我很好奇积累在这里是如何工作的。我从这段代码中得到了正确的结果,但想知道 lcm 在"累积"时采用什么参数。初始化为 A,范围之和为 b?请帮忙
#include <numeric>
int gcd(int a, int b)
{
for (;;)
{
if (a == 0) return b;
b %= a;
if (b == 0) return a;
a %= b;
}
}
int lcm(int a, int b)
{
int temp = gcd(a, b);
return temp ? (a / temp * b) : 0;
}
int main()
{
int arr[] = { 5, 7, 9, 12 };
int result = std::accumulate(arr, arr + 4, 1, lcm);
std::cout << result << 'n';
}
lcm
将采用的第一个参数是到目前为止的累积值(从 1
开始,std::accumulate
的第三个参数),第二个参数将是 arr
中的一个元素。接下来,无论返回什么lcm
都作为第一个参数传递,arr
中的下一个元素作为第二个参数传递。
有关更多详细信息,请参阅参考资料。
您可以轻松地将a
和b
写入lcm
中的标准输出,以查看发生了什么。
相关文章:
- 传递给std::function template的template参数究竟代表什么
- 什么..(省略号)作为函数原型中唯一的函数参数,C++?
- C++部分概念 id:显式模板规范顺序/第一个参数的特殊状态的原因是什么?
- 引用捕获和在 lambda 中通过引用发送参数有什么区别 (C++)
- C++有什么方法可以在既不调用函数模板也不提供其模板参数的情况下引用函数模板?
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 未命名的非类型模板参数有什么意义?
- 有什么方法可以将具有不同模板参数的模板类实例放入向量中?
- 什么是仅调用一次并调用参数的控制台应用
- 在模板参数中使用 {} 在 type_trait{} 中时,其作用是什么<T>?
- 在 C 和 C++ 中作为函数参数,int **a 和 int a[][] 之间有什么确切的区别
- 为什么或在什么情况下,你会将参数作为C++中的引用(或指针)传递给函数?
- 没有大小参数的CString::GetBuffer()做什么
- 可变参数模板和省略号有什么区别?
- 当通知迭代器参数初始化为空列表的开头时,list::insert 行为是什么?
- C++ [错误] 声明'char '隐藏参数。什么意思?
- 用相同的参数声明两个构造函数的最偶像化的方法是什么?
- 这个公式在"accumulate"时采用什么参数?
- C++ 在发送什么参数方面遇到问题
- FindConnectionPoint,传递什么参数