teacher's.txt
来自「K阶斐波那契数列的前K-1项均为0,第k项为1,以后的每一项都是前K项的和」· 文本 代码 · 共 32 行
TXT
32 行
#include <stdio.h>
#include <conio.h>
#define kk 4
#define max 200
struct queue
{ int elem[kk]; int rear; } cq; // rear指向队尾元素
int f[100],n; //用数组f存放所求序列中的所有元素
void fb(int k)
{ int i,j;
for(i=0;i<=k-2;i++) { f[i]=0 ; cq.elem[i]=0 ; }
//为前k-1个元素赋初值0,并放入队列cq
cq.elem[k-1]=f[k-1]=1; //为第k个元素赋值,并放入队列cq
cq.rear=k-1; n=k;
while(cq.elem[cq. rear]<max) //利用循环队列依次求f[n]
{f[n]=0;
for(j=0;j<k;j++) f[n]=f[n]+cq.elem[j];
cq.rear=(cq.rear +1) % k;
cq.elem[cq.rear]=f[n];
n++;
} //利用循环队列依次求f[n]
if(cq.elem[cq.rear]>max) n=n-2; else n=n-1;
}
main()
{int i;
fb(kk); for(i=0;i<=n;i++) printf(" %d",f[i]);
getch();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?