数据结构---课后习题(第一章)

news/2024/11/30 13:46:16/

🎈数据结构

🎈☀️☀️第一章

🎈☀️☀️💡💡💡k阶m项斐波那契数

题目1.17:

  已知k阶斐波那契序列的定义为

f_{0} = 0,f_{1} = 0,...f_{k-2} = 0,f_{k-1} = 1;

f_{n} = f_{n-1} + f_{n-2} +f_{n-k} ,n=k,k+1,...

  试编写求k阶斐波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现

solution1(c++):
//递归方法实现 
int f(int k,int m){int i,tmp;if (m<k-1){return 0;}else if(m==k-1){return 1;}else{for(i = 1,tmp = 0;i<=k;i++){tmp+=f(k,m-i);
//			cout<<tmp;}return tmp;}
}int main(){int k,m;while(cin>>k>>m){cout<<f(k,m-1);} 
}

输出检验:

solution2(c++):
//非递归方法实现
# define maxsize 100000int f(int k,int m){int a[maxsize],j;a[k-1] = 1;int t  = k;if(m>=k){while(t<=m){for(j = t-1,a[t] = 0;j>=t-k;j--){a[t]+=a[j]; }if(t == m){return a[t];}else{t++;} }}else{return a[m];}
} int main(){int k,m;while(cin>>k>>m){cout<<f(k,m); }
}

输出检验:


http://www.ppmy.cn/news/1129175.html

相关文章

DirectX 3D C++ 圆柱体的渲染(源代码)

代码功能&#xff1a;渲染一个绕中心轴自转的圆柱体。要求该圆柱体高度为3.0&#xff0c;半径为0.5。 #include <windows.h> #include <d3d11.h> #include <d3dx11.h> #include <d3dcompiler.h> #include <xnamath.h> #include <cmath> #…

借助Log360实现综合可见性的增强网络安全

当今的企业对技术的依赖程度前所未有&#xff0c;因此强大的威胁检测和响应策略变得至关重要。在现代世界中&#xff0c;网络犯罪分子不断寻找新的、富有创意的方式&#xff0c;以侵入组织的网络并窃取敏感数据。综合性的可见性是一个关键要素&#xff0c;有时被忽视&#xff0…

kafka各版本消息介绍

kafka各版本消息介绍 V0 offset&#xff1a;分区中的偏移量message size&#xff1a;消息大小crc32(4B):crc32校验值。校验范围为magic至value之间。magic(1B):消息格式版本号&#xff0c;此版本的magic值为0。attributes (1B):消息的属性。总共占1个字节&#xff0c;低3 位表…

关于dom.click()多次调用无效的问题

最近在做需求的时候写了这样一段代码&#xff1a; // domArr为dom数组 domArr.forEach((item) > item.click())我想通过多次调用click()函数来模拟点击实现某种效果&#xff0c;但是没有达到预期的效果&#xff08;我的表现是点击只触发了一次&#xff09; 通过搜索发现&a…

Spring整合第三方框架-MyBatis整合Spring实现

Spring整合MyBatis的步骤 导入MyBatis整合Spring相关坐标。 <dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.5</version></dependency><dependency><groupId>…

利用maskrcnn来实现目标检测与追踪

首先下载源代码仓库&#xff0c;链接地址如下&#xff1a; maskrcnn 能够实现的效果如图所示&#xff1a; 该存储库包括&#xff1a; 基于FPN和ResNet101构建的Mask R-CNN的源代码。MS COCO 的训练代码MS COCO 的预训练砝码Jupyter 笔记本&#xff0c;用于可视化每一步的检测…

在亚马逊云科技Amazon SageMaker上部署构建聊天机器人的开源大语言模型

开源大型语言模型&#xff08;LLM&#xff09;已经变得流行起来&#xff0c;研究人员、开发人员和组织都可以使用这些模型来促进创新和实验。这促进了开源社区开展合作&#xff0c;从而为LLM的开发和改进做出贡献。开源LLM提供了模型架构、训练过程和训练数据的透明度&#xff…

vlc将本地文件推流成ts实时流

推流 打开vlc &#xff0c;打开 媒体----打开网络串流 选择文件选项卡&#xff0c;打开本地文件 点击添加&#xff0c;选择本地的mp3文件 选择串流 点击下拉框&#xff0c;选择udp&#xff0c;点击右边的【添加】按钮 输入媒体流输出地址&#xff0c;点击【下一个】 选择正确的…