(0): 0
(1): 1
(2): 1
(3): 2
(4): 3
(5): 5
(6): 8
(7): 13
(8): 21
(9): 34
(10): 55
…
(99): 218922995834555169026
(100): 354224848179261915075
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
int fib(int n){
int a=0,b=1;
if(n<0){
cout<<"ERROR"<<endl;
return -1;
}
else if(n<2){
cout<<n<<endl;
return n;
}
// times记录迭代次数,每次做a=a+b 和b=a+b操作,一次计算出两个值,所以times折半了
// n从2开始 2,3 4,5
int times = n/2;
while(times--){
a=a+b;
b=a+b;
}
// 判断输出a还是b
if(n%2==0){
cout<<a<<endl;
retur