当前位置: 首页 > article >正文

Fibonacci数列(斐波那契数列或兔子数列)

目录

一、斐波那契数列介绍

二、三种处理方法

1.递归处理

2.迭代处理

3.数组处理

总结


一、斐波那契数列介绍

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为: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语言程序来输出斐波那契数列呢?下面给出了三种解决方案。

二、三种处理方法

三种处理方法均只给出了Fibonacci数列处理的函数,主函数都是一样的,要输出每一项则使用循环,只输出某一项,则直接打印返回值即可。

#include <stdio.h>

int main()
{
	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
		printf("%d ", Fib1(i));
	return 0;
}

1.递归处理

//递归方法
int Fib1(int n)
{
	if (n <= 2) 
		return 1;
	else
		return Fib1(n - 1) + Fib1(n - 2);
}

2.迭代处理

//迭代方法
int Fib2(int n)
{
	int f1 = 1, f2 = 1, f3=1;
	while (n > 2)
	{
		f3 = f1 + f2;
		f1 = f2;
		f2 = f3;
		n--;
	}
	return f3;
}

3.数组处理

#include<stdlib.h>

//数组方法
int Fib3(int n)
{
	if (n == 1 || n == 2)return 1;
	int* ints = (int*)malloc(n * sizeof(int));
	ints[0] = 1;
	ints[1] = 1;
	for (int i = 2; i < n; i++)
	{
		ints[i] = ints[i - 1] + ints[i - 2];
	}
	return ints[n-1];
}

总结

本节介绍了斐波那契数列的三种处理办法,思路很简单,被广泛应用于艺术,音乐,建筑以及游戏设计等多个领域。本节到此结束,拜拜!


http://www.kler.cn/a/403916.html

相关文章:

  • 《数字图像处理基础》学习06-图像几何变换之最邻近插值法缩小图像
  • 【Apache Paimon】-- 6 -- 清理过期数据
  • 嵌入式LVGL自定义纯数字键盘
  • 索引(MySQL)
  • Flink Standalone集群模式安装部署全攻略
  • 游戏行业趋势:“AI、出海、IP”大热下,如何提升竞争力?
  • 算法设计与分析-上机实验10
  • 鸿蒙网络编程系列50-仓颉版TCP回声服务器示例
  • unity li2cpp逆向原理是什么?
  • 多路归并+set去重
  • C++详细笔记(六)string库
  • PHP实现双向队列
  • C++结构型设计模式之适配器模式概述
  • HTML和CSS 表单、表格练习
  • es写入磁盘的过程以及相关优化
  • 极简AI工具箱网站开源啦!
  • vue3+elementui-plus el-dialog全局配置点击空白处不关闭弹窗
  • iOS屏幕共享技术实践
  • 【K8S问题系列 | 16】如何有效地监控资源使用情况并设置告警?
  • PAT甲级 1080 Graduate Admission(30)
  • 计算机网络-Python通信
  • 什么是Git,有什么特点
  • 51c自动驾驶~合集30
  • 【AI日记】24.11.19 GraphRAG
  • Python爬虫项目 | 二、每日天气预报
  • git上传文件到远程仓库