斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
这个数列从第三项开始,每一项都等于前两项之和。
Fn=Fn-1+Fn-2(n>=2,n∈N*)
求解
unsigned long Fib(int n)
{
if (n <= 1) {
return n;
} else {
return Fib(n - 1) + Fib(n - 2);
}
}
unsigned long Fib(int n)
{
int a0 = 1, a1 = 2, i;
unsigned long sum = 0;
for(i = 1; i < n; i++) {
sum = a0 + a1;
a0 = a1;
a1 = sum;
}
}
时间复杂度O(n^2)
经典例题
/**
* Author:MangoDai
*
* Date:${Date}
*
* Description:
*
**/
#include <iostream>
using namespace std;
int main(){
int i;
while (cin >> i) {
int j = (i - 2) % 4;
if (0 == j) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
}
return 0;
}
网友评论