斐波那契数列c语言循环法
时间: 2023-11-17 18:02:30 浏览: 48
斐波那契数列是指这样一个数列:0、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*)。在C语言中,可以使用循环法来实现斐波那契数列的计算。循环法的实现方式如下所示:
```
int Fibon_for(int n) //O(n),O(1)
{
int f1 = 1;
int f2 = 1;
int f3 = 1;
for(int i=1;i<n;i++)
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
return f3;
}
int main()
{
for(int i=0;i<10;i++)
{
printf("%d ",Fibon_for(i));
}
return 0;
}
```
在循环法中,我们使用三个变量f1、f2、f3来存储斐波那契数列中的三个数。在循环中,我们不断更新这三个变量的值,直到计算出第n个斐波那契数列的值f3。最后,我们将计算出的斐波那契数列的值返回给调用者。
相关问题
斐波那契数列c语言穷举法
以下是使用穷举法求解斐波那契数列的C语言代码:
```c
#include <stdio.h>
int main() {
int n, i, a = 0, b = 1, c;
printf("请输入要求解的斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列前%d项为:\n", n);
printf("%d ", a);
printf("%d ", b);
for (i = 3; i <= n; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
printf("\n");
return 0;
}
```
该代码中,我们通过输入要求解的斐波那契数列的项数n,然后使用a、b两个变量分别存储前两项的值,通过循环计算出后续的项数,并输出结果。
c语言迭代法求斐波那契数列
以下是C语言迭代法求解斐波那契数列的代码:
```c
int Fibonacci(int x) {
int a = 0;
int b = 1;
int c = 0;
if (x == 1) return 1; //当x=1,返回1
if (x == 0) return 0; //当x=0,返回0
while (x >= 2) //输入x>=2时,进行迭代
{
c = a + b; //每次迭代令c=a+b,即进行f(x)=f(x-1)+f(x-2)
a = b; //使得a,b往后移一个数字
b = c;
x--;
}
return c;
}
```
以上代码中,我们使用while循环来进行迭代,每次迭代都将a和b往后移一个数字,并计算出c的值,最后返回c即可得到斐波那契数列的第x项的值。