基于C语言用递归思想实现斐波那契数列的函数设计

这篇具有很好参考价值的文章主要介绍了基于C语言用递归思想实现斐波那契数列的函数设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用C语言并利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现!文章来源地址https://www.toymoban.com/news/detail-844187.html

/*******************************************************************
 *
 *	file name:	
 *	author	 :  RISE_AND_GRIND@163.com
 *	date	 :  2024/04/07
 *	function :  利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现!
 * 	note	 :  None
 *
 *	CopyRight (c)  2023-2024   RISE_AND_GRIND@163.com   All Right Reseverd
 *
 * *****************************************************************/
#include <stdio.h>
#include <stdlib.h>

int Fibon(int n);

int main(int argc, char *argv[])
{
    // 定义指针变量用于指向堆内存
    int *ptr = NULL;
    // 申请堆内存并初始化
    ptr = (int *)calloc(1, 4); // 将calloc的void *转换为char*
    if (NULL == ptr)
    {
        perror("error!");
        return -1;
    }

    // 从键盘输入字符串
    printf("请输入你要求的第几项斐波那契数列的值:\n");
    scanf("%d", ptr);
    // 调用递归
    printf("第%d项斐波那契数列的值为:%d\n", *ptr, Fibon(*ptr));
    // 释放堆内存
    free(ptr);
    ptr = NULL;
    return 0;
}

/*******************************************************************
 *
 *	author	 :  RISE_AND_GRIND@163.com
 *	date	 :  2024/04/07
 *	function :  斐波那契数列的函数设计,利用递归实现!
 * 	note	 :  None
 *
 * *****************************************************************/
int Fibon(int n)
{
    // 错误处理
    if (1 == n || 2 == n)
    {
        return 1;
    }
    else
    {
        return Fibon(n - 1) + Fibon(n - 2);
    }
}
/* 递归的本质就是二叉树的叶子的关系运算 在这里的关系是 +
    Fibon(5)
    =       Fibon(4)                     +             Fibon(3)
    = (     Fibon(3)         + Fibon(2)) +      (Fibon(2) + Fibon(1))
    = ((Fibon(2) + Fibon(1)) + Fibon(2)) +      (Fibon(2) + Fibon(1))
    = ((     1   +      1)   +    1    ) +      ( 1       +     1)
    =           2            +    1      +                2
    = 5
*/

到了这里,关于基于C语言用递归思想实现斐波那契数列的函数设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用C语言实现斐波那契数列

    提示:斐波那契数列            1 1 2 3 5 8 13…… 本文将用普通变量和数组两组方式输出斐波那契数列前40个数,要求4个一行。       int f1=1;int f2=1; 让第一个数是f1,第二个数是f2,两两一组。   共40个数,分成20组。     1    1        2                               

    2024年02月05日
    浏览(30)
  • 用C 语言实现斐波那契数列

    斐波那契数列(Fibonacci sequence),又称“黄金分割”数列,比如这样一个数列:1,1,2,3,5,8,13,21,34,55,89... ...数列从第3项开始,每一项都等于前两项之和。在C语言中,我们可以用多种方式来实现斐波那契数列。本文针对以下三种方式来体现每种方法的效率:1)递

    2024年02月07日
    浏览(39)
  • 一分钟学算法-递归-斐波那契数列递归解法及优化

    一分钟学一个算法题目。 今天我们要学习的是用递归算法求解斐波那契数列。 视频教程链接:https://www.bilibili.com/video/BV1Wu4y1i7JJ/ 首先我们要知道什么是斐波那契数列。 斐波那契数列,又称黄金分割数列,是一个经典的数学数列,其特点是第一项,第二项为1,后面每个数字都

    2024年02月11日
    浏览(41)
  • 编写递归函数,求斐波那契数列第n项

    要求: 编写递归函数int f(int n),计算如下公式: 定义main函数输入n,调用f函数进行计算,在main函数中输出计算结果。 【样例输入】 10 【样例输出】 89 主函数: #includestdio.h int main() {     int i,n;     printf(\\\"请输入你要打印的斐波那契数列项数:n\\\");     scanf(\\\"%d\\\",n);//n为打印的

    2024年02月04日
    浏览(48)
  • 递归详解,斐波那契数列、二叉树遍历、汉诺塔问题的递归代码

    一、递归详解 [1] 递归是一种编程技巧,通过函数调用自身来解决问题。递归中包含三个要素:递归定义、递归出口和递归调用。 [2] 递归定义指的是问题可以被分解为同类且更小规模的子问题。在递归过程中,问题会不断被分解为规模更小的子问题,直到达到一个基本情况,

    2024年02月08日
    浏览(33)
  • C语言经典算法实例6:斐波那契数列

    斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89… 这个数列从第3项开始,每一项都等于前两项之和。 斐波那契数列的定义者,是意大利数学家莱昂纳多·斐波那契(Leonardo Fibonacci),生于公元1170年,卒于1250年,籍贯是比萨。 他被人称作“比萨的莱昂

    2024年02月02日
    浏览(40)
  • 斐波那契数列verilog实现

     前言:         该题为睿思芯科笔试题,笔试时长20分钟。         用代码实现斐波那契数列,代码需要对对enable敏感,当enable为高几周期,sum在enble为高的下一周期输出第几个斐波那契数,斐波那契数列的生成是后一个数字是前两个数字之和,如下序列:0、1、1、

    2024年02月13日
    浏览(35)
  • 使用斐波那契(Fibonacci)数列来测试各大语言的性能

    笔者使用最多的语言是C++,目前项目中在使用Go,也使用过不少其它语言,像Erlang,Python,Lua,C#等等。最近看到C#夺冠,首次荣获 TIOBE 年度编程语言,同时也看到网上有不少Java与C#之争的文章,于是就想要来做一个性能比较。 这里参与性能比较的是以下几门语言:Go、C#、

    2024年01月17日
    浏览(40)
  • C#面:使用 IEnumerable 实现斐波那契数列生成

    斐波那契数列(Fibonacci sequence),又称黄金分割数列 [1],因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”, 其数值为:1、1、2、3、5、8、13、21、34…… 在数学上,这一数列以如下递推的方法定z义: F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n

    2024年04月16日
    浏览(36)
  • Java【动态规划】斐波那契数列模型, 图文思路详解 + 代码实现

    本篇总结动态规划中的 斐波那契数列模型 的解法和思路 按照以下流程进行分析题目和代码编写 思路分析步骤 代码编写步骤 1, 状态表示 1, 构造 dp 表 2, 状态转移方程 2, 初始化+边界处理 3, 初始化 3, 填表(抄状态转移方程) 4, 填表顺序 4, 返回结果 5, 返回值 / OJ链接 题目分析

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包