0
点赞
收藏
分享

微信扫一扫

## 斐波那契数列的非递归实现方法

卿卿如梦 2022-01-12 阅读 48

斐波那契数列的非递归实现方法

目的:给出斐波那契函数的n值得到函数值
定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)。1,1,2,3,5,8,13,21,34,55……

当函数大于等于三项时,第三项等于第一项加第二项,第四项等于3+2,5=4+3…
只需定义一个数组,数组的i项等于i-1与i-2项的和,i>=3,对i实行for循环直到等于n的值就可以求得函数值,除了数组的变量num还需要数组项的变量值i,最后还需要斐波那契数列的变量n。

想要求得某个斐波那契数列函数值大小,需要scanf入n值的大小,即数组的大小,但数组不可变量赋值,这里需要用到malloc函数,malloc声明数组的方法如下:

int n;
scanf("%d", &n);
int *num = (int*)malloc(n * sizeof(int));

完整代码如下:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i, n ;
	int *num;
	scanf_s("%d", &n);
	num = (int*)malloc(n*sizeof(int));
	num[1] = 1;
	num[2] = 1;
	for (i = 3; i <= n; i++)
		num[i] = num[i - 1] + num[i - 2];
	printf_s("%d", num[n]);
	return 0;
}
举报

相关推荐

0 条评论