剑指 Offer 10- I. 斐波那契数列(C语言)
剑指 Offer 10- I. 斐波那契数列(C语言)
1. Title
斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
详情:点击这里
2. Do it
version 0.1(success)
/*!
* @file fib.c
* @date 2021-8
* @version 0.1
* @author forbit
* @brief
* @details score 0ms 5.3MB
*/
int fib(int n){
/*!
* @brief
* @param[in] n 斐波那契(Fibonacci)数列的第 n 项
* @return 斐波那契(Fibonacci)数列的第n项的数值,int型的。
*/
//! 入参判断
if(n<0 && n>100) exit(1);
int a = 1;
int b = 0;
if(n==0) a=0;
for(int i=1; i<n; i++){
a = a + b;
b = a-b;
a %= 1000000007l; //! 防止溢出
}
return a;
}