写点什么

用 c++lamda 函数计算阶乘

作者:linux大本营
  • 2023-04-27
    湖南
  • 本文字数:393 字

    阅读完需:约 1 分钟

以下是用 C++ lambda 函数计算阶乘的示例代码:


#include <iostream>#include <functional>
int main() { int n = 5; std::function<int(int)> factorial = [&factorial](int num) { if (num == 0) return 1; else return num * factorial(num - 1); }; std::cout << "Factorial of " << n << " is: " << factorial(n) << std::endl; return 0;}
复制代码


这里使用了一个递归的 lambda 函数,它将自身作为参数传递,以便在每次调用时都能使用自己。最初,它检查传递的数字是否为 0。如果是,则返回 1(因为 0 的阶乘为 1)。否则,它计算该数字和小于一的数字的阶乘并返回结果。在这种情况下,它使用自身来计算小于给定数字的数字的阶乘。最后,在主函数中,我们传递要计算的数字,并输出计算结果。


相关技术视频教程:c/c++ linux服务器开发/后台架构师免费学习地址

c/c++后端技术交流群:579733396

用户头像

还未添加个人签名 2020-11-26 加入

C/C++linux服务器开发群 812855908

评论

发布
暂无评论
用c++lamda函数计算阶乘_c++_linux大本营_InfoQ写作社区