k阶斐波那契序列定义:第k和k+1项为1,前k - 1项为0,从k项之后每一项都是前k项的和

k=2时,斐波那契序列为:0,1,1,2,3,5,8,13...

k=3时,斐波那契序列为:0,0,1,1,2,4,7,13,24...

k=4时,斐波那契数列为:0,0,0,1,1,2,4,8,15,29...

注意:前k-1项都是0!

错误样例:

正确样例:

错误原因:是前5项的和,前5项,不是前2项!

#include<stdio.h>
#include<stdlib.h>
typedef struct NODE{int n;struct NODE* next;
}NODE;
//结构体类型 typedef struct Queue{struct NODE* front;struct NODE* rear;
}Queue;
//队列对头和队尾指针 int IsQueueEmpty(Queue* qptr){int flag=0;if(qptr->front==NULL){flag=1;}return flag;
}
//判断队列中是否为空 Queue* CreateEmptyQueue(){Queue* qptr=(Queue*)malloc(sizeof(Queue));if(qptr!=NULL){qptr->front=qptr->rear=NULL;}else{printf("Out of space!\n");}return qptr;
}
//创建一个空队列 void InsertQueue(Queue* qptr,int x){NODE* p=(NODE*)malloc(sizeof(NODE));if(p==NULL){printf("Out of space!\n");}else{p->n=x;p->next=NULL;if(IsQueueEmpty(qptr)){qptr->front=qptr->rear=p;qptr->rear->next=qptr->front;}else{qptr->rear->next=p;qptr->rear=p;qptr->rear->next=qptr->front;}}
}
//向循环队列中插入一个新元素 int DeleteQueue(Queue* qptr){NODE* p;int x;if(qptr->front==NULL){printf("Empty queue.\n");return 0;}else{p=qptr->front;qptr->front=qptr->front->next;qptr->rear->next=qptr->front;x=p->n;free(p);return x;}
}
//删除队头元素 int GetQueueValue(Queue* qptr){int x=qptr->front->n;return x;
}
//获取队头元素 void OutputQueueValue(Queue* qptr){NODE* p;p=qptr->front;while(1){printf("%d ",p->n);p=p->next;if(p==qptr->front) break;}
}
//输出循环队列中所有元素 void FibonacciArray(Queue* qptr,int max,int k){for(int i=k;i>1;i--){InsertQueue(qptr,0);}InsertQueue(qptr,1);//k阶斐波那契数列的初始化://前k-1项都为1,第k项为1NODE* p=qptr->front;while(p->next->n==0) p=p->next;while(1){int x=0;NODE* q=p;for(int i=k;i>0;i--){x+=q->n;q=q->next;}if(x>max) break;InsertQueue(qptr,x);p=p->next;DeleteQueue(qptr);}
}
//完成斐波那契数列的复杂功能 int main(){int max,k;scanf("%d%d",&max,&k);Queue* qptr=CreateEmptyQueue();FibonacciArray(qptr,max,k);OutputQueueValue(qptr);return 0;
}

西工大NOJ数据结构理论——010.k阶斐波那契数列(严3.32)相关推荐

  1. 西工大NOJ数据结构理论——018.建立二叉树的二叉链表(严6.65)

    刚点开这道题以后,我的反应是: 1.打开老师发的PPT:DS-Chap6,然后翻到第70页: 2.跟着图解,自己照着画了三四遍(其实是抄了三四遍: 3.然后自己出了一个比较简单的题: 先序:ABDCE ...

  2. 2020-11-4 关于k阶斐波那契序列的问题

    题目: //查阅的资料:k阶斐波那契序列的前k-1项均为0,第k项为1,之后为前k项之和 //eg: 2阶斐波那契序列的前1项为0,第1项为1,之后为前2项之和//解决的思想:使用最大容量为k+1的循 ...

  3. 西工大NOJ数据结构理论——013.以十字链表为存储结构实现矩阵相加(严5.27)

      我第一下拿到这个题目,第一反应就是先定义好数据结构,然后构建好十字链表基础操作的函数,也就是"创插遍历"这些操作.下面是我的定义和函数操作. typedef int ElemT ...

  4. 语言运行泰博那契数列_波浪理论的数字基础-斐波那契数列

    波浪理论数学结构-斐波那契数列与黄金分割率 波浪理论的推动浪,浪形为5(1.2.3.4.5),调整浪的浪型为3(a/b/c),合起来为8.若把波浪细化,大的推动浪又可分为1.3.5浪为推动.2.4为调 ...

  5. 西工大NOJ数据结构理论——021.逆波兰表达式(严7.38)

    这道题我参考的是(80条消息) 『西工大-数据结构-NOJ』 021-逆波兰表达式(耿7.38) 『西北工业大学』__LanXiu的博客-CSDN博客 (准确来说是快期末考试了,所以各科老师都在疯 狂 ...

  6. 西工大NOJ数据结构理论——017.输出以二叉树表示的算术表达式(严6.51)

    (17条消息) 『西工大-数据结构-NOJ』 017-输出以二叉树表示的算术表达式(耿6.51) 『西北工业大学』__LanXiu的博客-CSDN博客 上面是我参考的一位学长的博客. 先序建立二叉树, ...

  7. 西工大NOJ数据结构理论——007.表达式括号与匹配(严3.19)

    害怕提交次数过多,然后不再跑代码,影响成绩,所以又重新创建了两个号来测这道题. 结果全都正确,但就是一直"WA",然后Debug了近5个小时才把"WA"改成&q ...

  8. 西工大NOJ数据结构理论——015.建立二叉树的二叉链表存储结构(严6.70)

    我相信,大家都已经了解了这道题的背景,以及明白了我们需要做的事情. 对于这道题的背景,相信大家都熟悉,所以就不说了. 关于我们需要做的事情,大家也已经有了自己的思路.所以,我只在下面简短的写一写我的思 ...

  9. 西工大NOJ数据结构理论——001.顺序表的插入运算(耿2.4)

    #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct NODE {int n ...

最新文章

  1. Shiny平台构建与R包开发(四)——按钮与响应事件
  2. 送你一份不正经的深度学习简述(附论文)
  3. 《转》Ubuntu 12.04常用的快捷键
  4. redhat linux 5 nfs
  5. Android持久化技术
  6. [linux]centos7.4上升级python2版本到python3.6.5 【安装双版本,默认python3】
  7. 基于品类关系,虚拟类目如何建设? 1
  8. 小程序 Rsa加密
  9. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)
  10. 如何构建VoIP来是实现电话诈骗之——Asterisk的设置
  11. y160.第九章 GitOps从入门到精通 -- Tekton Trigger(九)
  12. CSDN旗下,河软CSDN乐知学院免费推荐诚信、踏实的Java软件工程、Android工程师,.NET工程师,PHP工程师、IOS工程师
  13. 将XPS转换成PDF的免费方法
  14. C语言基础——数据运算
  15. RDM6300 125KHz ID卡读卡器
  16. 论文、报告及教案公式编辑:图片公式转换Mathpix snipping Tool、快速编辑神器AxMath插件操作使用的几种用法(最详细精致)
  17. 液位检测技术的相关技术术语
  18. Swift - 第三方图表库Charts使用详解4(折线图3:选中点高亮、十字线样式)
  19. microchip PIC芯片使用方法
  20. paramiko模块的使用

热门文章

  1. Python代码画喜羊羊
  2. 小米mix2安兔兔html5跑分,【小米MIX2评测】性能:为发烧而生名副其实-中关村在线...
  3. mysql-5.7.36-winx64数据库安装操作命令
  4. mysql授权某一列_mysql 数据库授权(给某个用户授权某个数据库)【转载】
  5. 美柚引流女性粉有什么话术?教用美柚你吸引高质量精准女粉
  6. 2022危险化学品经营单位主要负责人操作证考试题库及在线模拟考试
  7. Linux 防火墙及端口配置
  8. 同行北京丨科士达聚渠道之力,共驱数据中心低碳高效发展
  9. 瑞星杀毒软件内存占用真相曝光
  10. (附源码)ssm华辰酒店管理系统 毕业设计021206