码迷,mamicode.com
首页 > 其他好文 > 详细

费布拉切数列

时间:2017-11-11 13:17:16      阅读:417      评论:0      收藏:0      [点我收藏+]

标签:费布拉切数列

 费布拉切数列又称黄金分割数列,指的是这样一个数列:1 1 2 3 5 8 13 21....

 实现费布拉切数列的方法有两种,一种是以数组下标的形式,arr[i]=arr[i-1]+arr[i-2];arr[0]=1;

arr[1]=0;

代码:

#include <stdio.h>
int main()
{
	int arr[12];
	int i;
	arr[0]=1;
	arr[1]=1;
	for(i=2;i<12;i++)
	{
		arr[i]=arr[i-1]+arr[i-2];
	}
	for(i=0;i<12;i++)
	{
		printf("%d  ",arr[i]);
	}
	return 0;
}

第二种方法中使用了交换数的原理,f3=f1+f2;f1=f2,f2=f3

代码:

#include <stdio.h>
int Fib(int num)
{
	int f1=1,f2=1,f3=2;
	if (num<3)
	{
		return 1;
	}
	else 
	{
		num=num-2;
		while(num)
		{
			f3=f1+f2;
			f1=f2;
			f2=f3;
			num--;
			//printf("%d ",f3);
		}	
	}
	return f3;
}
int main()
{
	int num=8;
	int ret=Fib(num);
	printf("%d",ret);
	return 0;
}


本文出自 “Dream” 博客,请务必保留此出处http://12951882.blog.51cto.com/12941882/1980834

费布拉切数列

标签:费布拉切数列

原文地址:http://12951882.blog.51cto.com/12941882/1980834

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!