⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 k

📁 1、猴子选大王 2、约瑟夫环 3、迷宫求解 4、回文游戏 5、地图四染色问题 6、八皇后问题 7、原四则表达式求值 8、k阶斐波那契序列 9、遍历二叉树 10、编写DFS算法的非递归
💻
字号:
// k阶费那波契序列.cpp : Defines the entry point for the console application.
//



#include <stdio.h>
#include <stdlib.h>

typedef struct QNode{
	int data;
	struct QNode * next;
}QNode,* QueuePtr;

typedef struct{
	QueuePtr front;
	QueuePtr rear;
}SqQueue,* LinkQueue;



int main()
{
	QueuePtr Q=NULL;
	int k,max;
	void Fibonacci(int,int,QueuePtr);
    QueuePtr CreatQueue(int);
	printf("请输入斐波那契序列阶数k和最大值max:");
	scanf("%d%d",&k,&max);
    Q=CreatQueue(k);
	
	Fibonacci(k,max,Q);
	printf("\n");
	return 0;
}

void Fibonacci(int k,int max,QueuePtr R)
{
	
	int i,sum,n=k,data=0;
	QNode * p,*q;

	q=R;

	
	
	
    for(i=1;i<k+1;i++)
	{
		if(i==k)
			printf("%4d",1);
		else
			printf("%4d",0);
		if(i%10==0)printf("\n");
	};
		
   
	
	while(data<=max)
	{
		p=q;
		sum=0;
		for(i=1;i<k+1;i++)//循环队列的和
		{
			sum+=p->data;
		    p=p->next;
		};
		
		q->data=data=sum;
		q=q->next;
		printf("%4d",data);
		if((n+1)%10==0)printf("\n");
		n+=1;
	};
    printf("\n");
	printf("%d阶斐波那契序列前%d项小于等于%d,第%d项大于%d.\n",k,n-1,max,n,max);

}






QueuePtr CreatQueue(int k)
{
	
	QNode *p,*q,*R;
	int i;
	R=q=(QNode *)malloc(sizeof(QNode));
	for(i=1;i<k;i++)
	{
		p=(QNode *)malloc(sizeof(QNode));
		q->data=0;
		q->next=p;
		q=p;
	}
	p->data=1;
	p->next=R;

	return R;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -