《数据结构题集》求k阶斐波那契序列的第m项值的函数算法

2023-11-06

这个属于学习笔记一篇

刚看到这个题的时候,花了好半天时间,才搞明白题目到底是啥意思

原来我之前接触的斐波那契数列都是2阶的

有了思路之后就开始动手操作

经过我的验证,2阶的前14项的运算结果与百度百科上的一致,5阶前10项与我手动计算结果一致

[刚开始也想过用递归调用,后发现这个阶数为动态,貌似不能用递归,可能是我水平不够,写不出来吧  哈哈,欢迎大神指点]

 

//编写求k阶非波纳妾序列的第m项值的函数算法
#include<stdio.h>

#define MaxSize 46  //实际发现2阶第47项已经超出int类型的最大值,成为了负数

int FIB(int ,int );

int f[MaxSize]={};

int main(){

	int k=0,m=0;
	printf("请分别输入阶数k和m,中间用空格隔开(k、m取值范围0-%d):\n",MaxSize);
	scanf("%d%d",&k,&m);
	
	printf("k阶非波纳妾序列的第m项的值为:%d\n",FIB(k,m));

	return 0;
}

int FIB(int k,int m){
	int i=0,j=0;
	if(k>MaxSize||m>MaxSize)
		return -1;
	else if(m<k-1){return 0;}
	else if(m<=k-1)return 1;
	for(i=0;i<k-1;i++)		//使前k-2项均为0
		f[i]=0;
	f[i]=1;					//令k-1项为1

	i++;
	for( ; i<=m ; i++){
//		f[i]=f[i-1]+f[i-2]+f[i-3]+...+f[i-k];
		for(j=1;j<=k;j++){
			f[i]+=f[i-j];
		}
	}
	i--;	//上面的for循环结束后,又运行一个i++,故需减掉1
	return f[i];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《数据结构题集》求k阶斐波那契序列的第m项值的函数算法 的相关文章

  • Matlab 一张图绘制在一个figure里,多张图绘制在一个figure里,和多张图分别绘制在一个figure里(多重子图)讲解及代码

    matlab的绘图可以采用直角坐标系 对数坐标系和极坐标等形式 数据点也可用向量或矩阵形式给出 类型可以是实型或复型 一张图绘制在一个figure里 以实例和代码讲解 在不同图形窗口下分别绘制出y sin x y sin 2x y sin
  • numpy中np.nan(pandas中NAN)

    在处理数据时遇到NAN值的几率还是比较大的 有的时候需要对数据值是否为nan值做判断 但是如下处理时会出现一个很诡异的结果 import numpy as np np nan np nan 此时会输出为False 对np nan进行help
  • 往虚拟机传文件的三种方法

    文件共享方法一 一 创建共享文件夹 这种方法最适合Windows系统 专治各种无法传送问题 共享文件的意义在于可以把宿主机的文件传到虚拟机内 这是VMware 自带的传文件功能 非常好用 前置条件 在宿主机建立一个共享文件夹 操作步骤 1
  • 使用代码操作Excel文件(POI)

    文章目录 本篇文章将讲述使用POI如何去对Excel文件进行读写 1 Maven导入poi包 2 POI进行基本的写入 3 POI进行大量数据的写入 4 POI读取数据 模拟两个案例 本篇文章将讲述使用POI如何去对Excel文件进行读写

随机推荐

  • FastCGI技术

    FastCGI技术 by ahuner 1 FastCGI介绍 FastCGI 快速通用网关接口 Fast Common Gateway Interface FastCGI 是一种让交互程序与Web服务器通信的协议 FastCGI像是一个常
  • 13-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WIFI(AT指令TCP普通通信版),支持AT指令MQTT通信,APP控制版)...

    https www cnblogs com yangfengwu p 10886436 html 视频教程 https www bilibili com video av55613892 https www bilibili com vid
  • 网页/博客Hexo添加live2d游戏角色看板娘,简易添加,碧蓝航线等live2d新型游戏角色模型(moc3)

    目前博客上常见live2d看板娘很多都已经是比较老的了 旧版的是moc文件的 并且相应的插件不支持新版模型 moc3文件 如碧蓝航线的live2d模型 本篇介绍在网页里引入moc3文件的方法 示例网站1 示例网站2 示例网站3 把游戏角色添
  • Qt编写自定义控件:自定义表头实现左右两端上部分圆角

    如上图 左上角和右上角凸出来了 设置表格圆角和表头圆角和QHeaderView section圆角都不管用 解决此问题需要重写QHeaderView的paintSection 函数 class CustomHeaderView public
  • 在文件选择打开方式里,无法添加.exe程序怎么解决

    转载自 https blog csdn net xfdywy article details 50967932 和 https blog csdn net sinat 26472165 article details 83505792 在设
  • 阿里云的ECS服务器的使用

    最近购买了阿里云的ECS服务器 对他的基本使用做了记录 服务器配置 CPU 2核 内存 4GB 数据盘 100G 操作系统 Ubuntu 12 04 32位 带宽计费方式 按固定带宽 当前使用带宽 1Mbps 网络类型 经典网络 1 登陆服
  • 漫谈图像超分辨率技术

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 作为将模糊的图像变清晰的神奇技术 图像超分辨率技术在游戏 电影 相机 医疗影像等多个领域都有广泛的应用 在这篇文章中 微软亚洲研究院的研究员们为你总结了图像超分辨率问题中
  • IDEA+Maven 打jar包

    IDEA Maven 打jar包 包涵依赖jar 最新修改 以前写的打包方式可能看起来有些繁琐 这里给出进一步简洁的解决方案简单粗暴 写在前面 这两天一直在整 gu 理 dao IDEA 用Maven打jar包 网上的教程是各式各样 但是都
  • Chapter 2 Trajectory Indexing and Retrival

    This 26 pages paper is a bit short as a survey but a little too long for me the first day to write a papaer analysis But
  • 什么是Progressive Web App(PWA)?它们有哪些特点?

    聚沙成塔 每天进步一点点 专栏简介 渐进式Web App简介 PWAs的主要特点 总结 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 欢迎来到前端入门之旅 感兴趣的可以订阅本专栏哦 这个专栏是为那些对Web开发感兴趣 刚刚踏入
  • 毕业设计-基于 BERT 的中文长文本分类系统

    目录 前言 课题背景和意义 实现技术思路 一 文本分类的相关技术 二 文本表示模型 三 文本分类模型 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • ResNet的改进系列:ResNext和Res2Net

    ResNext paper https arxiv org abs 1611 05431 code https github com facebookresearch ResNeXt Res2Net paper https arxiv or
  • 关于HTTP的8种请求方法

    关于HTTP请求方法中的8种请求方法 简单介绍 HTTP是超文本传输协议 其定义了客户端与服务器端之间文本传输的规范 HTTP默认使用80端口 这个端口指的是服务端的端口 而客户端使用的端口是动态分配的 当我们没有指定端口访问时 浏览器会默
  • Quartus和ModelSim软件关联

    Quartus和ModelSim软件关联 QuartusII 18 1 和 ModelSim 10 5b 软件的关联 Altera 自身在仿真领域做的并不是很好 所以 Quartus 软件兼容 Mentor 公司的ModelSim 仿真软件
  • hutool实现excel的导出,包括级联下拉

    废话不多说 直接上代码 1 pom xml
  • 什么是 Web 3.0?

    很多人并不理解什么是 Web 3 0 本文尝试以最简洁的语言来解释一下我对于这个问题的理解 01 互联网范式迭代 Web 1 0 也就是第一代互联网 是静态互联网 主要的应用是网络媒体 各网媒雇佣一大批编辑 将图文并茂的内容发布成为网页 读
  • 无法启动程序 xxx.exe,系统找不到指定的文件

    1 问题现象 解绝方法 语法问题 scanf函数调用后边没写分号 导致没能编译生成可执行程序 2 问题现象 解绝方法 printf函数错写成print 导致语法错误 3 问题现象 解决方法 头文件写错了 找不到stdio h 注意 这几种问
  • JavaWeb 项目部署到 Aliyun 服务器

    JavaWeb 项目部署到 Aliyun 服务器 准备工作 环境 Java8 IDEA tomcat8 5 本次 web 项目在本地 tomcat 跑通 打包 项目没问题后进行打包 选择 Artifacts gt 点击 号 gt 右击选择
  • 【node】3、fs文件读写流

    fs createReadStream读取指定文件的可读流 const fs require fs const rs fs createReadStream 1 mp4 resume开启可读流 rs resume 通过rs readable
  • 《数据结构题集》求k阶斐波那契序列的第m项值的函数算法

    这个属于学习笔记一篇 刚看到这个题的时候 花了好半天时间 才搞明白题目到底是啥意思 原来我之前接触的斐波那契数列都是2阶的 有了思路之后就开始动手操作 经过我的验证 2阶的前14项的运算结果与百度百科上的一致 5阶前10项与我手动计算结果一