数据结构习题集答案1

来源:互联网 发布:商业拓展 数据分析 编辑:程序博客网 时间:2024/05/05 10:46

1.17 一直k阶斐波那契序列的定义为

试编写求k阶斐波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数列表中出现。


解法1:

#include <stdio.h>//求nOrder阶斐波那契数列的第nNumber项int Fibonacci(int nOrder, int nNumber){if (nNumber <= nOrder-2){return 0;}else if (nNumber==nOrder-1 || nNumber==nOrder){return 1;}else{return 2*Fibonacci(nOrder, nNumber-1) - Fibonacci(nOrder, nNumber-nOrder-1);}}int main(void){int nOrder = 0, nNumber = 0;printf("请输入斐波那契数列的阶数和取值的项数(用空格隔开):");int nRead = scanf("%d%d", &nOrder, &nNumber);while (2 != nRead){printf("输入错误,请重新输入!\n");while (getchar() != '\n'){continue;}nRead = scanf("%d%d", &nOrder, &nNumber);}int nResult = Fibonacci(nOrder, nNumber);printf("计算结果是:%d\n", nResult);return 0;}

0 0
原创粉丝点击