c++求斐波纳切数列
时间: 2023-11-24 16:50:10 浏览: 29
下面是C++代码实现斐波那契数列,其中使用了数组来存储前20项的数,并且可以根据用户输入的n值求前n项的和:
```c++
#include <iostream>
using namespace std;
const int len = 25; // 数组长度
int main() {
int n;
int arr[len]; // 声明数组
arr[0] = arr[1] = 1;
for(int i = 2; i < len; i++) // 把前20项的数求出放到数组中
arr[i] = arr[i - 2] + arr[i - 1]; while(cin >> n) {
int sum = 0;
for(int j = 0; j < n; j++) { // 求前n项的和
sum += arr[j];
}
cout << "Fibonacci(斐波那契数列)前" << n << "项的和是:" << sum << endl;
}
return 0;
}
```
相关问题
斐波纳切数列c++递归
以下是斐波那契数列的 C++ 递归实现代码:
```c++
#include <iostream>
using namespace std;
int fibonacci(int n)
{
if (n == 0 || n == 1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
int n;
cout << "请输入要计算的斐波那契数列的项数: ";
cin >> n;
cout << "斐波那契数列的第" << n << "项为:" << fibonacci(n) << endl;
return 0;
}
```
需要注意的是,斐波那契数列的递归实现效率较低,因为在计算每一项的时候都需要重复计算之前的项。在实际应用中,应该采用迭代的方式或者使用记忆化搜索来提高效率。
斐波纳切数列c++递归输出前20项
以下是输出斐波那契数列前20项的 C++ 递归实现代码:
```c++
#include <iostream>
using namespace std;
int fibonacci(int n)
{
if (n == 0 || n == 1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
int n = 20;
cout << "斐波那契数列前" << n << "项为:";
for (int i = 0; i < n; i++)
cout << fibonacci(i) << " ";
cout << endl;
return 0;
}
```
这段代码使用循环输出斐波那契数列的前20项,使用递归实现每一项的计算。需要注意的是,递归实现效率较低,因此在实际应用中应该选择更高效的算法。