?? 1.17.c
字號:
1.17③ 已知k階裴波那契序列的定義為
f0=0, f1=0, ..., fk-2=0, fk-1=1;
fn=fn-1+fn-2+...+fn-k, n=k,k+1,...
試編寫求k階裴波那契序列的第m項值的函數算法,
k和m均以值調用的形式在函數參數表中出現。
要求實現下列函數:
Status Fibonacci(int k, int m, int &f);
/* 如果能求得k階斐波那契序列的第m項的值f,則返回OK;*/
/* 否則(比如,參數k和m不合理)返回ERROR */
Status Fibonacci(int k, int m, int &f)
/* 求k階斐波那契序列的第m項的值f */
{
int temp[200],i,j,sum;
if(k<2||m<0) return ERROR;
if(m<k-1) f=0;
else if(m==k-1) f=1;
else
{
for(i=0;i<=k-2;i++) temp[i]=0;
temp[k-1]=1; //初始化
for(i=k;i<=m;i++) //求出序列第k至第m個元素的值
{
sum=0;
for(j=i-k;j<=i-1;j++) sum+=temp[j];
temp[i]=sum;
}
f=temp[m];
}
return OK;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -