//64位机: sizeof(long long)=8; sizeof(long)=8;
// 面试题10:斐波那契数列
// 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。
// ====================方法1:递归====================
long long fib_r(uint32_t n)
{
if(n <= 1)
{
return n;
}
return fib_r(n - 1) + fib_r(n - 2);
}
// ====================方法2:循环====================
long long fib(uint32_t n)
{
if(n==0)
{
return 0;
}
long long first = 0;
long long two = 1;
long long temp = 0;
for(uint32_t i = 2; i <= n; ++ i)
{
temp = two;
two += first;
first = temp;
}
return two;
}