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

📄 t2_2.cpp

📁 k阶斐波那契序列
💻 CPP
字号:
#include<stdio.h>
#include<malloc.h>
#define tt 1000
int k,max,n,i;

struct fbstack
{
	int *base;
	int rear;
	int elem[];
}cq;

int InitStack(fbstack)
{
	cq.base=(int *) malloc (sizeof(fbstack));
	if (!cq.base) return 0;
	else return 1;
} 

int f[tt];

void main()
{
	printf("input k & max \n");
	scanf("%d%d",&k,&max);
	  
	if(InitStack(cq))
	{
		for(i=0;i<=(k-2);i++) 
		{
			f[i]=0; 
    	    cq.elem[i]=0;
		}
        cq.elem[k-1]= cq.elem[k]= 1;   
        cq.rear=k;     
        n = k+1;     
    	f[k-1]=f[k]=1;
        while(cq.elem[cq. rear]<max)
        {
			int j= (cq. rear+1) % (k+1);
            f[n]= cq.elem[cq. rear]*2- cq.elem[j];
            cq.elem[j]=f[n];     
			cq.rear=j;    n++;
        }

        if(cq.elem[cq.rear]>max)  n=n-2; else n=n-1;
        if (max==1)  {n=k;f[k]=1;}
        if (max==0)   n=k-2;
	}
    for(i = 0; i <= n; i++)
       printf("  f[%d]=%d",i,f[i]);
    
}

⌨️ 快捷键说明

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