栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言斐波那契数列的非递归实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言斐波那契数列的非递归实现

题目:

有一对兔子,从出生后第3个月起都个月都生一对兔子,小兔子长到第3个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?

#include "stdio.h"
#include "math.h"

int main()
{
	float s = 0;
	int n;
	scanf("%d",&n);
	
	//利用了斐波那契数列公式 
	s = 1/sqrt(5)*(pow((1+sqrt(5))/2,n)-pow((1-sqrt(5))/2,n));
	
	//这步用来消除sqrt带来的误差 
	if(s>(int)s)
		printf("s = %d",(int)s+1);
	else
		printf("s = %d",(int)s);
	return 0;
}

这个直接利用了斐波那契的通项公式进行运算,效率比较高但是不容易被理解,斐波那契数列的通项公式就放在下面了,大家自行阅读,如果文章有用,不妨点个小小的赞

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012409.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号