斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。
优秀博客:https://blog.csdn.net/gatieme/article/details/51115810
#include<stdio.h>
//递归求第 n 个斐波拉契数
int Fibonacci(int n)
{
if(n <= 1)
{
return n;
}
else
{
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
//非递归求第 n 个斐波拉契数
long long Fibonacci0(int n)
{
if(n <= 1)
{
return n;
}
long long one = 0;
long long two = 1;
long long res = 0;
for(int i = 2; i <= n; i++)
{
res = one + two;
one = two;
two = res;
}
return res;
}
int main()
{
printf("%lu\n", Fibonacci0(1000000000));
return 0;
}
青蛙跳台阶问题
矩形覆盖问题