本题要求实现求Fabonacci数列项的函数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。
函数接口定义:
int fib( int n );
函数fib
应返回第n
项Fibonacci数。题目保证输入输出在长整型范围内。
裁判测试程序样例:
#include <stdio.h>
int fib( int n );
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", fib(n));
return 0;
}
/* 你的代码将被嵌在这里 */
答案:迭代方法
int fib(int n) {
int i = 0;
int a = 1;
int b = 1;
int c = 0;
if (n <= 2) {
return 1;
}
else {
for (i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return c;
}
}
递归方法(计算量大不适用于计算较大的斐波那契数列)
int fib(int n) {
if (n <= 2) {
return 1;
}
else {
int ret = fib(n - 1) + fib(n - 2);
}
}
标签:数列,int,fib,实验,Fibonacci,两项,函数
From: https://blog.csdn.net/owardl/article/details/143253134