作者 颜晖
单位 浙大城市学院
本题要求实现求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;
}
/* 你的代码将被嵌在这里 */
输入样例:
7
输出样例:
13
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C程序如下:
int fib( int n )
{
int s[n + 1], k;//定义一个长度为n+1的数组和用来储存数组下标的变量
s[0] = 0;//将数组的第一变量赋值为0
s[1] = 1;//将数组的第二个变量赋值为1
if(n == 1)//如果要求第一项的斐波那契值
{
return 1;//直接返回1
}
for(int i = 2; i <= n; i++)
{
s[i]= s[i - 1] + s[i - 2];//数组储存每一项的斐波那契值
k = i;//最终要求的一项的斐波那契值的数组下标用k来表示
}
return s[k];//返回要求的斐波那契值
}