C++斐波那契数列
斐波那契数列
斐波那契数列指的是这样⼀个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
这个数列从第三项开始,每⼀项都等于前两项之和。
在数学上,斐波那契数列以如下被以递归的⽅法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*)。要求:
(1) 在堆上创建⼀个⼤⼩为10的整形数组,存放斐波那契数列的前⼗项,并打印出来。
(2) 在上⼀个数组的基础上,再添加⼗项斐波那契数列,并打印出前⼆⼗项数据。
#include <iostream>
#include <cstring>
using namespace std;
//斐波那契数列
int Fib (int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return Fib(n - 1) + Fib(n - 2);
}
}
int main(void)
{
int n = 10;
int *p = new int[n];
for (auto i = 0; i < n; ++i)
{
p[i] = Fib(i + 1);
}
for (auto i = 0; i < n; ++i)
{
cout << p[i] << endl;
}
cout << "********************" << endl;
n = 20;
int *q = new int[20];
memcpy(q, p, sizeof(int) * 10);
delete []p;
p = q;
for (auto i = 10; i < n; ++i)
{
p[i] = Fib(i);
}
for (auto i =0; i < n; ++i)
{
cout << p[i] << endl;
}
delete []p;
system("pause");
return 0;
cstring转为int}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论