您的位置:首页 > 其它

斐波那契数列的几种求法

2016-06-15 17:01 162 查看
斐波那契数列:1,1,2,3,5,8,13,21,34.........

要求数列的第n项

解法一:利用两个变量,具体做法如下:

int Fbnq(int n)
{
int a = 1;
int b = 1;
if (n <= 0)
{
return 0;
}
if (n == 1||n == 2)
{
return 1;
}

for (int i = 1; i < n / 2; i++)
{
a = a + b;
b = a + b;
}

if (n % 2 == 1)
{
return a;
}
else
{
return b;
}
}

解法二:利用一个数组
int Fbnq(int n)
{
int fbnq[100];
if (n <= 0)
{
return 0;
}
if (n == 1 || n == 2)
{
return 1;
}
fbnq[1] = 1;
fbnq[2] = 1;
for (int i = 3; i < n+1; i++)
{
fbnq[i] = fbnq[i - 1] + fbnq[i - 2];
}
return fbnq
;

}解法三:递归
int Fbnq(int n)
{
if (n <= 1)
return n;
else
return Fbnq(n - 1) + Fbnq(n - 2);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息