斐波那契数列
关于斐波那契数列C++中有很多方法表示,以下是其中两种我认为最简洁且好理解
递归法:
long long fei(int n)
{
if(n==1||n==2) return 1;
return fei(n-1)+fei(n-2);
}
n表示斐波那契数列第几项,这种方法虽然简洁,但时间复杂度较高,容易导致运行超时等问题。
迭代法:
long long fei(int n) {
if (n == 1 || n == 2) return 1;
long long a = 1, b = 1;
long long next;
for (int i = 3; i <= n; i++) {
next = a + b;
a = b;
b = next;
}
return b;
}
这种方法相对上种降低了时间复杂度。
当然还有很多方法,比如用数组表示斐波那契数列等,但是有一点是它们都需要注意的,为了防止数据溢出,最好都用long long来定义斐波那契数列。