c+++lambda表达式实现斐波那契
时间: 2023-12-24 19:06:19 浏览: 114
斐波那契序列(c++语言实现)
C++的Lambda表达式可以用来实现斐波那契数列。斐波那契数列是指从第三项开始,每一项都是前两项的和。下面是使用Lambda表达式实现斐波那契数列的代码:
```cpp
#include <iostream>
#include <functional>
using namespace std;
int main() {
function<int(int)> fib = [&fib](int i) -> int {
if (i < 2) {
return 1;
} else {
return fib(i - 1) + fib(i - 2);
}
};
for (int i = 0; i < 10; i++) {
cout << fib(i) << endl;
}
return 0;
}
```
在这段代码中,通过Lambda表达式定义了一个名为fib的函数对象,用来计算斐波那契数列的第i项。当i小于2时,返回1;否则,返回fib(i - 1) + fib(i - 2)的结果。然后,通过循环调用fib函数对象,输出斐波那契数列的前10项。
阅读全文