C求k阶裴波那契数列的第m项值的函数已知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均以值调用的形式在
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 23:11:29
C求k阶裴波那契数列的第m项值的函数已知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均以值调用的形式在
C求k阶裴波那契数列的第m项值的函数
已知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均以值调用的形式在函数参数表中出现.
输入:
输入两个正整数k m
输出:
输出k阶裴波那契数列的第m项值fm.
C求k阶裴波那契数列的第m项值的函数已知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均以值调用的形式在
#include <stdio.h>
#include <stdlib.h>
int Fibonacci(int k, int m){
if(m<k-1){
return 0;
}
else if(m==k-1){
return 1;
}
else{
int i;
int fm = 0;
for(i=m-1; i>=(m-k); i--){
fm += Fibonacci(k, i);
}
return fm;
}
}
void main(){
int k, m, fm;
printf("输入k: ");
scanf("%d", &k);
printf("输入m: ");
scanf("%d", &m);
fm = Fibonacci(k, m);
printf("%d阶裴波那契数列的第%d项值f(%d) = %d\n", k, m, m, fm);
}
===
刚刚VC下编译通过.