首页 / C++ / C++写斐波那契数列前20项
C++写斐波那契数列前20项
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++写斐波那契数列前20项,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1528字,纯文字阅读大概需要3分钟。
内容图文
![C++写斐波那契数列前20项](/upload/InfoBanner/zyjiaocheng/602/63b9aaf2890e48c49be26a71a99aa7f2.jpg)
C++写斐波那契数列前20项
目录
题目
编写一个c++风格的程序,并用动态分配内存的方法计算Fibonacci数列(斐波那契数列:0,1,1,2,3,5,8,13…)的前20项并储存到动态分配的空间中
一、方法一
递归函数编写
#include<iostream>
using namespace std;
int f(int i);
int main()
{
int i;
int *p=new int;
for(i=0;i<20;i++)
{
*(p+i)=f(i);//指针p指向的内存的下一块内存,这里不严谨
cout<<"第"<<i+1<<"项为:"<<*(p+i)<<endl;
}
cout<<"运算结束,且结果已经储存到动态分配的空间中,通过指针p进行访问,访问结果为:"<<endl;
for(i=0;i<20;i++)
{
cout<<*(p+i)<<endl;
}//不能进行内存的回收,不严谨
return 0;
}
int f(int i)
{
if(i==0)
return 0;
if(i==1)
return 1;
else
return f(i-1)+f(i-2);
}
二、方法二
链表编写
#include<iostream>
using namespace std;
struct pointer
{
int num;
pointer *point;
};//结构体声明,与c不同的是1.无typedef,下面使用无struct 2.结构体可以包含函数类型
int main()
{
int i;
pointer *p=new pointer;
pointer *q,*h,*head;
p->num=0;
cout<<"第1项为:"<<p->num<<endl;
head=p;
h=p;
p=new pointer;
p->num=1;
cout<<"第2项为:"<<p->num<<endl;
q=p;
h->point=p;
for(i=2;i<20;i++)
{
p=new pointer;
p->num=q->num+h->num;
cout<<"第"<<i+1<<"项为:"<<p->num<<endl;
q->point=p;
h=q;
q=p;
}
cout<<"运算结束,且结果已经储存到动态分配的空间中,通过头指针*head进行访问,访问结果为:"<<endl;
for(i=0;i<20;i++)
{
cout<<head->num<<endl;
head=head->point;
}
return 0;
}
写在最后
疫情还没结束,在家的网课学习好困难,课程的增多加重了学业负担,但是仍然相信自己能够把握好生活学习的节奏,把所有的事情做到最好,舒舒子会继续加油的!!日子平淡枯燥但是我喜欢~
内容总结
以上是互联网集市为您收集整理的C++写斐波那契数列前20项全部内容,希望文章能够帮你解决C++写斐波那契数列前20项所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。