来源
轻院教材【练习7-13】
问题描述
(1) 编写一个C语言函数,函数名字是fib,返回值是long long类型,参数列表有一个int类型变量n作为形式参数。
函数fib( )的功能是按照给定的整数n计算斐波那契数列的第n项,并把该项的数值返回。如果整数n不满足条件 “1 ≤ n ≤ 93”,则函数fib( )返回值是 -1。函数fib( )不允许从键盘读取数据,也不允许输出数据到屏幕。
函数fib( )对应的函数原型如下:
long long fib(int n);
裁判测试程序样例:
#include <stdio.h>
long long fib(int n);
int main()
{
int n;
scanf("%d", &n);
printf("%lld", fib(n));
return 0;
}
// 你编写的代码将会嵌入到这里
输入样例:
90
输出样例:
1779979416004714189
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考代码:
long long fib (int n)
{
long long x=0;
long long y=1;
long long z;
int i;
if ((n<1)||(n>93)){
return -1;
}else if (n==1){
return 0;
}else if (n==2){
return 1;
}
for (i=2;i<n;i++){
z=x+y;
x=y;
y=z;
}
return z;
}